Pythonでtsvファイルを解析するにはどうすればいいですか?質問する

Pythonでtsvファイルを解析するにはどうすればいいですか?質問する

改行データを含む 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']

おすすめ記事