改行データを含む tsv ファイルがあります。
111 222 333 "aaa"
444 555 666 "bb
b"
ここで、3 行目には2 行目b
の改行文字があり、これらは 1 つのデータです。bb
最初の行の 4 番目の値:
aaa
2行目の4番目の値:
bb
b
Ctrl+C と Ctrl+V を使用して Excel ファイルに貼り付けると、うまく機能します。しかし、Python を使用してファイルをインポートする場合は、どのように解析すればよいでしょうか?
私が試してみました:
lines = [line.rstrip() for line in open(file.tsv)]
for i in range(len(lines)):
value = re.split(r'\t', lines[i]))
しかし結果は良くありませんでした。
欲しい:
ベストアンサー1
ただcsvモジュール引用符で囲まれたフィールド内の改行など、CSV ファイルで起こり得るすべての特殊なケースを認識します。また、タブで区切ることもできます。
with open("file.tsv") as fd:
rd = csv.reader(fd, delimiter="\t", quotechar='"')
for row in rd:
print(row)
正しく出力されます:
['111', '222', '333', 'aaa']
['444', '555', '666', 'bb\nb']