需要解析/合并CSV和Excel文件,并创建一个包含两个数据集差异的新表格

-1 投票
1 回答
42 浏览
提问于 2025-04-14 16:28

抱歉,我刚接触Python和Stack Overflow,遇到了一些问题。
我有一个文本文件和一个Excel文件,需要根据它们共有的两列(日期和ID)来合并这两个文件。它们的列名虽然代表同样的内容,但却不同。

这是CSV文件的内容:

测试日期 ID 值1
2024-03-12 a 1
2024-03-13 b 2
2024-03-14 c 3

这是Excel文件的内容(表头在第五行):

无关1 ID 无关2 日期 值2
无关内容 a 无关内容 3/12/2024 2
无关内容 b 无关内容 3/13/2024 4
无关内容 c 无关内容 3/14/2024 6

我的目标是创建一个像这样的合并结果:

日期 ID 值1 值2 差异 超过2?
2024-03-12 a 1 2 1
2024-03-13 b 2 4 2
2024-03-14 c 3 6 3

我尝试过一些方法,抱歉没能成功。我最终写了一个把CSV转换成Excel文件的代码,并试图从那里合并数据,但我一直没能让我的脚本同时从两个来源提取数据。等我能更新这个帖子时,会把我尝试的代码发上来,谢谢大家!

1 个回答

0

如果你一步一步来,这个过程其实挺简单的:

import pandas
df1 = pandas.read_csv("test.csv")
df2 = pandas.read_excel("test.xlsx", skiprows=4)

df3 = pandas.merge(df1, df2, on="id")
df3 = df3[["id", "date", "values 1", "values 2"]]
df3["discrepancy"] = df3["values 2"] - df3["values 1"]
df3["Over 2?"] = df3["discrepancy"] > 2
print(df3)

撰写回答