49

I have file that contains values separated by tab ("\t"). I am trying to create a list and store all values of file in the list. But I get some problem. Here is my code.

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

It works fine as long as there is only one tab between each value. But if there is one than one tab then it copies the tab to values as well. In my case mostly the extra tab will be after the last value in the file.

4

5 に答える 5

82

ここで使用でき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']
于 2013-06-11T07:16:11.193 に答える
0

csvPython は、同名のモジュールで CSV ファイルをサポートしています。コンマで区切られた値以外にも多くの値をサポートするため、比較的誤った名前が付けられています。

基本的な単語分割を超える必要がある場合は、確認する必要があります。たとえば、引用符で囲まれた値を処理する必要があるとします...

于 2013-06-11T08:18:03.557 に答える