如何读入以空格和数字隔开的数据?

时间:2019-05-12 09:46:57

标签: python pandas

我有一个.txt文件,其格式如下所示。是否有方便的方法来读取数据,并且仅使用“真实” \ s +作为分隔符?这意味着单个空格不被读取为分隔符,而是多个空格。 到目前为止,pandas为每个字符串创建了一个单独的列,导致4列而不是3列。

感谢您的帮助或想法!

Hello World       3    2
Banana Pancakes   4    2

3 个答案:

答案 0 :(得分:1)

我建议您使用正则表达式“ \ s \ s +”作为分隔符。

此分隔符适用于多个但不是单个空格的情况。

答案 1 :(得分:1)

尝试一下:

s = 'Hello World       3    2'
import re
list_ = re.split(r'\s{2,}', s)

输出

['Hello World', '3', '2']

答案 2 :(得分:1)

基于上述Hari的答案,您可以将re.split()与他建议的regex模式一起使用:

>import re
>line = "Hello World       3    2"
>pat = re.compile(r'\s\s+')
>pat.split(line)
['Hello World', '3', '2']