gpt4 book ai didi

python - 合并公共(public)列匹配的两个 csv 文件

转载 作者:行者123 更新时间:2023-12-02 03:21:56 24 4
gpt4 key购买 nike

我有一个用户的 csv 和一个虚拟机的 csv,我需要将用户合并到他们的虚拟机中,只有在他们的 ID 匹配的地方。

但我得到的只是一个包含所有内容的巨大文件。

file_names = ['vms.csv', 'users.csv']


o_data = []


for afile in file_names:
file_h = open(afile)
a_list = []
a_list.append(afile)
csv_reader = csv.reader(file_h, delimiter=';')
for row in csv_reader:
a_list.append(row[0])

o_data.append((n for n in a_list))
file_h.close()

with open('output.csv', 'w') as op_file:
csv_writer = csv.writer(op_file, delimiter=';')
for row in list(zip(*o_data)):
csv_writer.writerow(row)
op_file.close()

我对 python 比较陌生,我是否遗漏了什么?

最佳答案

我一直发现 pandas 对此类任务很有帮助。您可以简单地将数据集加载到 pandas 数据框中,然后使用合并功能将它们合并到列中值相同的位置。

    import pandas
vms = pandas.read_csv('vms.csv')
users = pandas.read_csv('users.csv')

output = pandas.merge(vms, users)
output.to_csv('output.tsv')

您可以在 http://pandas.pydata.org/pandas-docs/stable/merging.html 找到不同选项的文档。

关于python - 合并公共(public)列匹配的两个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com