为了账号安全,请及时绑定邮箱和手机立即绑定

如何在三个不同列的csv文件中写入纬度、经度和另一个变量的值?

如何在三个不同列的csv文件中写入纬度、经度和另一个变量的值?

翻过高山走不出你 2021-12-26 10:14:25
我想在三个不同列的 csv 文件中写入 Latitude、Longitude 和 Air_flux 值的值。这是迄今为止我在 Python3 中完成的代码:文件“路径”具有指定纬度和经度的“Air_Flux”的所有值。代码:import numpy as npimport csvLAT_MIN = 34.675LAT_MAX = 38.275LON_MIN = 124.625LON_MAX = 130.795path = 'BESS_PAR_Daily.A2015004.nc_output.csv' # "File That contains the Values Of Air_Flux"flux = np.genfromtxt(path, delimiter=',') # Reading Data from FilelatData = np.arange(LAT_MIN, LAT_MAX, 0.05)lonData = np.arange(LON_MIN, LON_MAX, 0.05)with open('data.csv', 'w') as file:    writer = csv.writer(file, delimiter=',')    for x in np.nditer(latData.T, order='C'):        for y in np.nditer(lonData.T, order='C'):        file.write(str(x))        file.write("\n")        file.write(str(y))        file.write("\n")    for fl in np.nditer(flux):        file.write(str(fl))        file.write("\n")file.close()我只知道在一列中存储值的方法......但是:我想在一个 csv 文件中写入纬度、经度和 Air_flux 值的值,这样一列会有纬度值,经度值的第二列和“Air_flux”的第三列
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

我的理解是您的数据格式需要


LAT1 LON1 FLUX1

LAT2 LON2 FLUX2

在这种情况下,您不需要多个 for 循环,您可以将所有三个数组传递给该nditer方法,然后使用它一次性csvwriter.writerows写入所有值。


这是一个基于您的场景的示例


import numpy as np

import csv


LAT_MIN = 34.675

LAT_MAX = 38.275

LON_MIN = 124.625

LON_MAX = 130.795

# path = 'BESS_PAR_Daily.A2015004.nc_output.csv' # "File That contains the Values Of Air_Flux"


# flux = np.genfromtxt(path, delimiter=',') # Reading Data from File

# latData = np.arange(LAT_MIN, LAT_MAX, 0.05)

# lonData = np.arange(LON_MIN, LON_MAX, 0.05)

flux = np.array([1,2,3,4,5])

latData = np.array([1,2,3,4,5])

lonData = np.array([1,2,3,4,5])


with open('data.csv', 'w') as file:

    writer = csv.writer(file, delimiter=',')

    for x,y,z in np.nditer([latData.T, lonData.T, flux], order='C'):

        writer.writerow([x,y,z])

你也不需要,file.close()因为with块会照顾它


查看完整回答
反对 回复 2021-12-26
?
郎朗坤

TA贡献1921条经验 获得超9个赞

由于通量值存储在这些 Lat 和 Lons 之间,因此在跨 Lon 迭代 Lat 值之后,我获取了跨通量的 lat 和 lon 索引:

writer.writerow([x, y, flux[lat.index, lon.index]])


查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号