首页 > 解决方案 > 在 python 3.8 中将 netCDF4 数据转换为 .CSV 格式。不输出所需文件

问题描述

我有一个 netCDF4 文件,该文件与加勒比地区选定区域的历史平均海面温度有关。netCDF4 数据跨越的时间范围很广(从 1850 年到 2012 年),我正在尝试提取这些数据的片段(从 1990 年到 2000 年的十年)并将其转换为 .CSV 格式。

到目前为止,我的代码运行没有任何错误,但它在我的本地 .py3 目录中输出了一个 word 文档文件(不是 .CSV 文件)。在这个文件中,只有一行文本带有单词“,温度”。IE。没有实际数据。

我是 python 和计算机编程的新手,几乎没有以前的经验,所以我不知道我的代码有什么问题。非常感谢任何帮助。

这是我的代码:

# Converting netCDF4 files to .csv
import netCDF4
from netCDF4 import Dataset
import numpy as np
import pandas as pd

# Reading in file
data = Dataset('/Users/terrysoennecken/Documents/Fish movement model data/Ocean Temp/adaptor.esgf_wps.retrieve-1628265122.7610238-22900-3-fb77a99c-36ca-48e6-ac6a-2895a39eddd0 2/historical.nc', 'r')
print(data)

tb = data.variables['time_bnds']
t = data.variables['time']
sst = data.variables['tos'] # Sea surface temp
lat = data.variables['latitude']
lon = data.variables['longitude']

# Storing relevant data into variables
time_data = data.variables['time'][:]
lon_data = data.variables['longitude'][:]
lat_data = data.variables['latitude'][:]
temp_data = data.variables['tos'][:]

# Creating a dataframe
start_date = time_data[1971]
end_date = time_data[1825]
time_scale = pd.date_range(start = start_date, end = end_date)

df = pd.DataFrame(1, columns = ['Temperature'], index = time_scale)

# Fnal dataframe save to a .csv file
df.to_csv('Sea Surface Temperature around the Bahamas for the decade, 1990 - 2000')

标签: python-3.xpandasnumpycsvnetcdf4

解决方案


推荐阅读