【发布时间】:2015-03-10 19:34:27
【问题描述】:
问题:在附加 CSV 文件时匹配列
我有 50 个 .csv 文件,其中每一列是一个单词,每一行是一天中的一个时间,每个文件包含一天中的所有单词。它们看起来像这样:
Date Time Aword Bword Cword Dword
Date1 t1 0 1 0 12
Date1 t2 0 6 3 0
Date Time Eword Fword Gword Hword Bword
Date2 t1 0 0 1 0 3
Date2 t2 2 0 0 19 0
我想追加文件,以便在新列中添加新词时匹配具有相同单词的任何列(如本例中的 Bword):
Date Time Aword Bword Cword Dword Eword Fword Gword Hword
Date1 t1 0 1 0 12
Date1 t2 0 6 3 0
Date2 t1 3 0 0 1 0
Date2 t2 0 2 0 0 19
我将 csv 文件作为数据框打开以对其进行操作并使用 dataframe.append 添加新文件,如下所示:
Date Time Aword Bword Cword Dword
Date1 t1 0 1 0 12
Date1 t2 0 6 3 0
Date Time Eword Fword Gword Hword Bword
Date2 t1 0 0 1 0 3
Dat2e t2 2 0 0 19 0
是否有其他方法可以在追加时对齐匹配的列?即不遍历每一列并检查匹配项。
如果这个问题太含糊,我深表歉意,我是 python 新手,仍然很难知道我何时以非 Python 方式思考以及何时使用错误的工具。 p>
编辑:更多信息
1) 我需要多次执行此任务,每五批 csvs 执行一次
2) 这些文件都有 25 行,但有 5 到 294 列
3) 行的顺序很重要 Day1(t1, t2...tn) 然后 Day2(t1, t2...tn)
4) 列的顺序并不重要
【问题讨论】:
-
对此有多种解决方案,哪种最好取决于几件事。 (1.) 这是一次性任务还是要重复运行的任务(如果是后者,在什么情况下?) (2.) 文件有多大?
-
1) 我需要多次执行此任务,五批 csv 中的每批执行一次。 2) 这些文件都有 25 行,但有 5 到 294 列。