如何根据列值将TSV中的行拆分为多个文件?

时间:2020-08-14 23:32:28

标签: python excel csv

我不确定我的问题是正确的。让我举个例子。

我目前有一个TSV文件,如下所示(其中的制表符由吉尔梅特标记»表示)。

SMS Index #»**Protocol**»Address»Type»Subject»Body»Service Center»Status»Read»Date»Locked»Date Sent»Readable Date»Contact Name
0»0»**01234567899**»Received»null»I thought that we were going to »null»»Read»1970-01-01 00:00:00 +0000 UTC»False»1970-01-01 00:00:00 +0000 UTC»Dec 31, 1969 7:00:00 PM»(Unknown)

我大约有100,000行,每行都有一个电话号码。我想解析该TSV文件,并针对每一行将行复制到具有电话号码的新TSV。或者如果该文件存在,则将行添加到其中。

我将拥有100个TSV文件,而不是拥有一个包含来自100个电话号码的SMS消息的非常大的TSV文件,但是每个文件将仅包含具有相应电话号码的SMS消息。

我会怎么做呢?

1 个答案:

答案 0 :(得分:1)

在python中使用csv.reader并将分隔符设置为tab。然后,对于每一行,以附加模式打开一个带有电话号码的文件,并使用csv.writer(再次配置为使用标签页)将其添加到该文件中,然后将其关闭。

如果您关心性能,请将行存储在将电话号码映射到行列表的字典中,最后在字典上进行迭代。