【发布时间】:2014-06-02 23:15:45
【问题描述】:
我正在尝试过滤输入文件并将过滤后的行写入“过滤”文件,将未过滤的行写入“保存”文件,但我似乎无法解决我的格式问题
创建一组过滤器后...
with inFile:
file_reader = csv.reader(inFile, delimiter='\t')
filtered_name = inFile.name + '_filtered.txt'
filtered_writer = csv.writer(open(filtered_name,'wb'), delimiter='\t')
saved_name = inFile.name + '_saved.txt'
saved_writer = csv.writer(open(saved_name, 'wb'), delimiter='\t')
for data in file_reader:
if (data[1], data[2]) in filters:
filtered_writer.writerows(data)
else:
saved_writer.writerows(data)
过滤步骤工作正常,如果我只写入单个输出文件,我的输出看起来很好。通常,输出文件应如下所示:
ABC 12345 6789
DEF 12346 6790
但它们看起来像:
A B C
1 2 3 4 5
6 7 8 9
D E F
1 2 3 4 6
6 7 9 0
我做错了什么?
编辑:我使用的是 Python 2.7
【问题讨论】:
-
天哪。它应该是“writerow”而不是“writerows”……大家星期一快乐!是时候喝咖啡了……