1. ホーム
  2. python

[解決済み] ファイル内のタブを基準にして文字列を分割する。

2022-02-09 06:05:43

質問内容

タブで区切られた値を含むファイル(" \t")があります。リストを作成して、ファイルの値を全てリストに格納しようとしています。しかし、いくつかの問題が発生します。以下は私のコードです。

line = "abc def ghi"
values = line.split("\t")

各値の間にタブが1つしかない限りは問題なく動作します。しかし、タブが1つ以上ある場合は、値にもタブがコピーされます。私の場合、ほとんどの場合、余分なタブはファイル内の最後の値の後になります。

解決方法は?

を使用することができます。 regex ここで

>>> import re
>>> strs = "foo\tbar\t\tspam"
>>> re.split(r'\t+', strs)
['foo', 'bar', 'spam']

を更新しました。

を使用することができます。 str.rstrip を使用すると、末尾の '\t' を実行し、正規表現を適用します。

>>> yas = "yas\t\tbs\tcda\t\t"
>>> re.split(r'\t+', yas.rstrip('\t'))
['yas', 'bs', 'cda']