【发布时间】:2019-04-20 21:34:45
【问题描述】:
我有类似数据集的不同来源 (CSV),我想将它们合并为单个数据并将其写入我的数据库。由于数据来自不同的来源,他们在 CSV 中使用不同的标题,我想将这些列与逻辑含义合并。
到目前为止,我已经尝试先读取所有标题并重新读取文件以首先将所有数据放在一个数据框中,然后执行 if else 以将具有相同含义的列合并在一起。理想情况下,我想创建一个映射文件,每列包含所有可能的列名,然后使用该映射读取 CSV。数据在文件之间没有排序或排序。列数也可能不同,但它们都有我感兴趣的列。
样本数据:
文件 1:
id、名称、total_amount...
1、“测试”,123..
文件 2:
member_id,tot_amnt,名称
2,“test2”,1234 ..
我希望这个看起来像
id、名称、total_amount...
1、“测试”、123...
2、“test2”、1234...
...
我想不出一种优雅的方式来做到这一点,如果能得到一些指导或帮助,那就太好了。
谢谢
【问题讨论】:
-
如果架构相同且顺序保持不变,只需将新的标头列表分配给
df.columns? -
然后您就可以使用
pd.merge或pd.concat,请参阅this post... 中的“合并多个DataFrames”部分。 -
架构相同,但顺序从一个文件更改为另一个文件。我认为您指向我的帖子可能会起作用,检查我是否可以使它起作用。谢谢
标签: python python-3.x pandas numpy