【发布时间】:2014-10-03 04:33:57
【问题描述】:
我有多个 csv 文件,它们都具有或多或少相同的标题。有些可能有所有标题,有些可能没有所有标题。 我想使用一个只有标题的通用 csv 文件并将它们全部合并。
示例标题:
a, b, c, d, e, f,
文件 1:
a, b, d,
1, 2, 3,
文件 2:
a, b, c, e,
4, 5, 6, 7,
合并结果:
a, b, c, d, e, f,
1, 2, , 3,
4, 5, 6, , 7, ,
到目前为止,我被指出使用 csv.DictReader、csv.DictWriter。 但是我在基于通用标题进行合并并保持标题顺序时遇到了麻烦。无论如何我仍然可以使用它们而不是对其进行排序吗?
我尝试了 pandas 合并功能,但它需要一个排序依据,我的数据不包含。
感谢任何帮助。 谢谢
【问题讨论】:
-
为什么不直接使用
strip(',')和split(', ')解析输入,然后使用迭代器将write()指向文件? -
@Matt 这不是我的实际数据,我用它只是为了了解我正在处理的数据类型。这只是一个例子。我的标题类似于“010 C03AA01”,csv 文件中的数据可以是任何类型的字符串。有些 csv 文件可能有一行数据,有些可能有多个...
-
@cyrusR 你看过 csvkit:csvkit.readthedocs.org/en/0.8.0
-
刚刚添加了一个可以用来解决问题的简单类