亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在三個不同列的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 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號