Python 如何在pandas中读取带空格分隔值的文件

Python 如何在pandas中读取带空格分隔值的文件,python,pandas,delimiter-separated-values,Python,Pandas,Delimiter Separated Values,我试着把文件读成熊猫。 该文件的值由空格分隔,但空格数不同 我试过: 但它不起作用您可以使用正则表达式作为分隔符: pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+") 添加delim_whitespace=True参数,它比正则表达式快。如果您无法使用接受的答案进行文本解析(例如,如果您的文本文件包含非统一行),那么值得尝试使用Python的csv库-下面是使用用户定义的示例: 当您的分隔符不仅仅是一个空格时,可能的重复会有

我试着把文件读成熊猫。 该文件的值由空格分隔,但空格数不同 我试过:


但它不起作用

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

pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")

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

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


当您的分隔符不仅仅是一个空格时,可能的重复会有所帮助。在当前版本中,应添加
engine=“python”
以避免警告。应添加该警告,并删除
delimiter=''
,因为它们在最新版本中是互斥的。@matanster:
delimiter='
非常脆弱,它表示只需要一个空格。没有制表符、新闻行、多个空格、不间断的空格、这些空格的组合等等。
delimiter='\s+'
是pandas推荐的,而且更可靠。这不是事实。它与Python3.8和pandas一起工作。这个问题要求阅读熊猫的文本文件。啊,对不起,我已经更新了我的答案来解释这个问题。
pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
 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)