105

我尝试将文件读入熊猫。该文件具有由空格分隔的值,但我尝试了不同数量的空格:

pd.read_csv('file.csv', delimiter=' ')

但它不起作用

4

3 回答 3

186

添加delim_whitespace=True参数,它比正则表达式更快。

于 2013-10-28T11:06:34.097 回答
39

您可以使用正则表达式作为分隔符:

pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
于 2013-10-28T10:16:01.017 回答
0

如果您无法使用接受的答案进行文本解析(例如,如果您的文本文件包含不统一的行),那么值得尝试使用 Python 的 csv 库 - 这是使用用户定义的方言的示例:

 import csv

 csv.register_dialect('skip_space', skipinitialspace=True)
 with open(my_file, 'r') as f:
      reader=csv.reader(f , delimiter=' ', dialect='skip_space')
      for item in reader:
          print(item)
于 2020-05-21T21:05:33.403 回答