【发布时间】:2021-10-14 00:35:51
【问题描述】:
我正在开发一个项目,该项目使用 python 脚本读取多个 .xls 文件,目标是让一个数据帧包含所有文件中的所有数据点。听起来很简单。
由于标题名称和标题的位置因文件而异(有些还具有附加列),所以我的脚本将每个文件保存为字典中的数据框。这很好,因为它可以捕获每个文件中的所有数据点。每个数据框都可以使用keys函数调用。
我的项目将包含大约 1500 个要读入的 .xls 文件,但目前我只使用 5 个文件来使代码正常工作。
但是,问题是如何提取保存到字典中的每个数据帧并将其转换为一个单独的视图。
前面提到的标题名称可以与字典中的每个数据帧不同,如下所示:
示例文件 1:
Security Type | Primary Source | Secondary Source | Pricing Logic | Valuation Point
示例文件 2:
Security Type | Primary Source | Secondary Source | Pricing Logic | Valuation Point
示例文件 3:
Security Type | Secondary Source | Primary Source | Pricing Logic
我如何遍历此字典以生成单个视图/数据框,知道标题可能位于不同的位置,并且有些标题名称可能比其他标题名称多,但所有标题都同等重要且不能省略。
【问题讨论】:
-
所以总结一下脚本应该读取所有的 excel 文件,并将它们组合在一个 Dataframe 中,如果它们存在两次或更多,则匹配可能的标题?
-
pd.concat()应该为您解决这个问题。查看提供的示例。只要列名相同,列的顺序无关紧要。
标签: python pandas dataframe dictionary