如何基于其他要素行将要素值从一个csv添加到另一个csv

k3fezbri  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(127)

我有2个csv文件如下。我必须添加纬度和长功能从一个csv到另一个基于ID

根据ID,我必须将列Latitude和Longitude添加到CSV 1(ID 1具有不同的值,ID 2具有不同的值,依此类推)。
有谁能告诉我如何使用python实现这一点吗?

9avjhtql

9avjhtql1#

我建议你使用pandas库。如果你以前没有遇到过它,它是一个非常广泛使用的数据操作库,使这项任务非常容易。然而,它不是Python打包的标准库的一部分,所以根据你的环境,你可能需要使用PyPi安装它。如果你以前没有这样做过,像this这样的指南可能会有帮助。
在您的环境中安装了panda之后,您可以运行以下代码(在文件路径中替换为csv1.csvcsv2.csv)。

import pandas as pd

# Load the csv files into dataframes and set the index of each to the 'ID' column
df1 = pd.read_csv('csv1.csv').set_index('ID')
df2 = pd.read_csv('csv2.csv').set_index('ID')

# Join using how='outer' to keep all rows from both dataframes
joined = df1.join(df2, how='outer')
print(joined)

# Save to a new csv file
joined.to_csv('joined.csv')

我制作了一些简单的示例数据来演示运行代码的结果:
csv1.csv:

ID,my_feature
1,banana
2,apple
3,pear

csv2.csv:

ID,latitude,longitude
1,7,-4
4,10,15

打印输出:

my_feature  latitude  longitude
ID
1      banana       7.0       -4.0
2       apple       NaN        NaN
3        pear       NaN        NaN
4         NaN      10.0       15.0

输出到合并的.csv文件:

ID,my_feature,latitude,longitude
1,banana,7.0,-4.0
2,apple,,
3,pear,,
4,,10.0,15.0

相关问题