【发布时间】:2019-07-24 21:31:58
【问题描述】:
我使用的 tsv 文件有 100 列,其中我只需要 10 列。
我的任务是打开文件,一次读取一行并构建另一个只有 10 列的 tsv 行。我知道我需要的列的索引。
with open(self.file_name, 'r') as input_file:
reader = csv.reader(input_file, delimiter='\t')
for row in reader:
trim_row.append(str(row[0]) + "\t" + str(row[1]) + "\t" +
str(row[2]) + "\t" + str(row[4]) + "\t" + str(row[11]))
这就是我看到的
输入行:
['2019-01-13', '123' , 'test', '123', '123', 'test', '123', '123', '3', 'abc', 'abc', 'def', '23', '45', '40', '7', '8', 'a' , '56']
我得到的是 修剪行:
['2019-01-13\t123\ttest\t123\t123']
我需要的是这样的列子集:
['2019-01-13', '123' , 'test', '123']
【问题讨论】:
-
您的示例输出以逗号分隔,而不是制表符分隔。你需要哪个?确认后,我将在下面更新我的答案
-
它的标签是分开的。我想知道是否有办法做到这一点而不必写入输出文件。
-
好吧,你上面的“trim_row”是一个制表符分隔的列表,应该给你你想要的吗?尝试
print(trim_row),您应该会看到由制表符分隔的值。
标签: python python-2.7 csv