Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在csv文件的三个不同列中写入纬度、经度和其他变量的值?_Python_Csv_Latitude Longitude - Fatal编程技术网

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

Python 如何在csv文件的三个不同列中写入纬度、经度和其他变量的值?,python,csv,latitude-longitude,Python,Csv,Latitude Longitude,我想将纬度、经度和空气通量值写入csv文件中的三个不同列中 以下是迄今为止我在Python3中完成的代码: 文件路径具有穿过指定Lat和Lon的所有空气通量值 代码: 我只知道在一列中存储值的方法。。。 但是: 我想在csv文件中写入纬度、经度和空气通量值,其中一列有纬度值,第二列为经度值,第三列为空气通量我的理解是,您需要的数据格式为 LAT1 LON1 FLUX1 LAT2 LON2 FLUX2 在这种情况下,您不需要多个for循环,可以将所有三个数组传递给nditer方法,然后使用csv

我想将纬度、经度和空气通量值写入csv文件中的三个不同列中

以下是迄今为止我在Python3中完成的代码: 文件路径具有穿过指定Lat和Lon的所有空气通量值

代码:

我只知道在一列中存储值的方法。。。 但是:
我想在csv文件中写入纬度、经度和空气通量值,其中一列有纬度值,第二列为经度值,第三列为空气通量

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

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块会处理它

因为通量的值存储在这些Lat和Lon之间,在跨Lon迭代Lat值之后,我获取了跨通量的Lat和Lon索引:

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

谢谢你的回复。但我必须使用纬度和经度的所有值。首先,我读取整个Lon的所有Lat值,然后沿着这些Lat和Lon读取嵌套for循环的原因。空气流量的值存储在名为Path的文件中,因此我必须按照我的方式进行操作。我的数组Lat和Lon具有不同的维数73*124,因此我必须读取Lon中Lat的所有值。@user11109061一个快速帮助。你能用一些样本值和你期望的结果来更新你的问题吗?我的输出是这样的:纬度经度通量34.675124.62524 34.675 124.675 20@user11109061我知道你成功了。欢迎接受任何你认为有用的解决方案,包括你的/投票的。是的,我支持你的。。最后一行代码肯定有用writer.writerow[x,y,z]:谢谢你
writer.writerow([x, y, flux[lat.index, lon.index]])