所以我有许多 csv 文件,每个文件都包含一个日期时间列和一个“值”列。每个 csv 对应一个位置,该位置由每个文件的 id 号表示。这样每个文件都被命名为例如 111111.csv。
然后我有一个单独的 csv 文件,其中包含这些 id 编号的列表,分别在第 1、2 和 3 列中具有相应的纬度和经度。
我想做的是使用 id 编号在各个 csv 文件中为纬度和经度创建列,然后用正确的值填充这些列。
所以我期望 csv 文件有四列日期时间、值、纬度、经度。
我还希望每个 csv 中的每个数据点的每个纬度值和每个经度都相同,因为每个 csv 代表一个单独的位置。
我知道如何使用 glob 来识别目录中的 csv 文件,并且之前已经在目录中的每个文件中创建了新列,但我不确定如何使用单独的 csv 来填写我想要的内容。
谢谢
编辑
import pandas as pd
df = pd.read_csv("342304.0.csv")
df["latitude"] = 14.25
df["longitude"] = -61.25
df.to_csv('output.csv', index=False)
我有这段代码可以单独执行,但我想遍历所有文件名,向所有文件名添加纬度和经度列,然后用我在单独的 csv 中拥有的正确纬度和经度值填充它们< /p>
每个csv就像
日期时间,值
日期时间的格式为 1979-01-01 07:00:00 并且值只是一个数字
然后格式化参考文件
fid,纬度,经度
其中 fid 是文件 id,对应于其他 csvs 的标题及其对应的经纬度
import pandas as pd
import glob
reference = pd.read_csv("reference.csv")
files =glob.glob('*csv')
for file in files:
df = pd.read_csv(file)
df['latitude'] = reference.latitude when reference.fid = filename
df.to_csv(file)
这有点像我想象的样子,但我知道文件中 for file 的第二行是错误的,但不完全确定如何让它做我想做的事情