1 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以預(yù)處理到適當(dāng)?shù)?TSV,然后從那里讀取它。用于itertools.groupby查找“\N”結(jié)尾。如果此文件存在其他問(wèn)題,例如內(nèi)部選項(xiàng)卡未轉(zhuǎ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)
添加回答
舉報(bào)