1 回答

TA貢獻1872條經驗 獲得超4個贊
您可以預處理到適當的 TSV,然后從那里讀取它。用于itertools.groupby查找“\N”結尾。如果此文件存在其他問題,例如內部選項卡未轉義,則一切都將失敗。
import itertools
import re
separator_re = re.compile(r"\s*\\N\s*$", re.MULTILINE)
with open('other.csv') as infp:
with open('other-conv.csv', 'w') as outfp:
for hassep, subiter in itertools.groupby(infp, separator_re.search):
if hassep:
outfp.writelines("{}\n".format(separator_re.sub("",line))
for line in subiter)
else:
for line in subiter:
if line.endswith("\\\n"):
line = line[:-2] + " "
else:
line = line.strip()
outfp.write(line)
添加回答
舉報