我有很多的tsv文件,我想把它们一个一个地读出来,并把最后一列写到其他文件中。
以下是我的代码:
for filename in os.listdir(path):
with open(path+'/'+filename,'r',encoding="utf8") as tsvin, open('temptweets.csv','a',encoding='utf-8') as csvout:
tsvin = csv.reader(tsvin, delimiter='\t')
csvout = csv.writer(csvout)
count = 0
for row in tsvin:
try:
count = str(row[-1])
except ValueError:
pass # w.e.
if len(count) >= 0:
csvout.writerow([count])
大多数情况下,它工作得很完美。但问题是,一些线路交错在一起。例如,行变量获得更多的几行连接在一起,所以它最终不仅最后一列被写入到文件中,而且下一行的列。它在几行之后就停止了--也不知道为什么。
我尝试过用其他几种方法(如pandas)读取这些文件,但得到了相同的结果。我还尝试打开输入文件并查看所有字符(notepad++),但所有行(包括有问题的行)都有 CR:LF。I知道输入文件有问题(输入文件已给出),但我想知道是否有任何方法可以解决它。
https://stackoverflow.com/questions/50889248
复制相似问题