gpt4 book ai didi

python - 使用 pandas 将两个 Excel 表与 Python 连接起来

转载 作者:行者123 更新时间:2023-12-04 20:54:12 28 4
gpt4 key购买 nike

我正在尝试将数据放在两个不同的 Excel 工作簿中,每个工作簿只有一张,然后将它们连接或合并在一起。第一个是包含大约 282,000 行数据的工作表,我正在通过一个公共(public)列将包含大约 13,000 行数据的第二个工作表合并到其中。这是一对多的加入。我目前的代码可以运行,但运行大约需要 2.5 小时,我觉得应该有一种方法可以让它更高效。下面是我的代码:

import pandas

df1 = pandas.read_excel('file1.xlsx')
df2 = pandas.read_excel('file2.xlsx')

final_file = pandas.merge(df1, df2, left_on='OWNER', right_on='ENTITY')
final_file.to_excel('file3.xlsx', index=False)

那么我怎样才能让它运行得更快呢?我应该使用 Pandas 以外的东西吗?

编辑:所以我认为需要这么长时间的是 final_file.to_excel 。是否有不同/更好的方法来编写合并数据?也许将其写入 df1 中的新工作表?
df1
Owner Prop Decimal
AND15 1031 0.00264
AND15 1032 0.03461
AND16 1037 0.00046

df2
Entity Address Fax
AND15 Fake 123 555-555-5555
AND16 Fake 456 555-555-5544

final_file
Owner Prop Decimal Entity Address Fax
AND15 1031 0.00264 AND15 Fake 123 555-555-5555
AND15 1032 0.03461 AND15 Fake 123 555-555-5555
AND16 1037 0.00046 AND16 Fake 456 555-555-5544

数据等。所以它匹配所有者和实体,然后将 df2 中的列添加到 df1 中匹配行的末尾。

编辑 2:似乎试图将结果写入 .xlsx 是问题所在,我想我的电脑上的 RAM 用完了。执行 final_file.to_csv 不到一分钟。我猜是吸取了教训。

谢谢,

伊森

最佳答案

下面的代码将花费更少的时间来追加和导出。

1.将 df1 与 df2 附加,然后将其导出为 csv。

Main_df = df1.append(df2)



注意:- 删除您要附加的特定 df 的标题。

关于python - 使用 pandas 将两个 Excel 表与 Python 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51768192/

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