gpt4 book ai didi

python - 基于两列匹配来自两个 csv 文件的数据,并使用选定的列创建一个新的 csv 文件

转载 作者:行者123 更新时间:2023-11-28 22:55:11 25 4
gpt4 key购买 nike

我有两个 csv 文件。

一个.csv:

1, 12.1455675, -13.1287564, 23, 9, 4.5, 4
2, 12.5934593, -13.0856385, 14, 5, 9.7, 6
3, 12.0496204, -13.8938582, 14, 6, 3.4, 9
4, 12.1456084, -12.1939589, 45, 2, 3.4, 8

两个.csv:

9, 12.0496, -13.8939, .3, 55
3, 12.1456, -13.1288, 3.4, 9

我想做的是根据第一列和第二列匹配两个 csv 文件。我想要另一个 csv 文件,它具有匹配的第 1 列和第 2 列,但还包括来自 two.csv 的相应第 3 列值和来自 one.csv 的第 6 列值。像这样:

12.0496, -13.8939, 55, 3.4
12.1456, -12.1288, 9, 4.5

我不确定如何解决这个问题,尤其是当 two.csv 中的某些值四舍五入时。

非常感谢任何帮助!

最佳答案

您可以使用 pandas' io 来读/写 csv 文件,并使用它的 database-style joining/merging capabilities 来合并文件:

import pandas as pd

normalize = lambda x: "%.4f" % float(x) # round
df = pd.read_csv("one.csv", index_col=(0,1), usecols=(1, 2, 5),
header=None, converters=dict.fromkeys([1,2], normalize))
df2 = pd.read_csv("two.csv", index_col=(0,1), usecols=(1, 2, 4),
header=None, converters=dict.fromkeys([1,2], normalize))
result = df.join(df2, how='inner')
result.to_csv("output.csv", header=None) # write as csv

结果

12.0496,-13.8939,3.4,55
12.1456,-13.1288,4.5,9

关于python - 基于两列匹配来自两个 csv 文件的数据,并使用选定的列创建一个新的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279289/

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