Python 如何在Pandas.read_csv中指定自定义解析器?

Python 如何在Pandas.read_csv中指定自定义解析器?,python,pandas,csv,Python,Pandas,Csv,我需要在Pandas中打开一个.csv文件。为此,我可以使用pd.read_csv'file.csv' 问题是,文件格式不正确: a b c 1 2 5 3 4 6 第一个分隔符是1个空格,第二个分隔符是3个空格 我在熊猫文档中找不到一种方法来说明如何做到这一点 我可以事先对文件进行预处理,将其转换为StringIO并用pandas打开,但对我来说,这似乎有点黑客味 with open('file.csv', 'r') as f: text = f.read() t

我需要在Pandas中打开一个.csv文件。为此,我可以使用pd.read_csv'file.csv'

问题是,文件格式不正确:

a b   c
1 2   5
3 4   6
第一个分隔符是1个空格,第二个分隔符是3个空格

我在熊猫文档中找不到一种方法来说明如何做到这一点

我可以事先对文件进行预处理,将其转换为StringIO并用pandas打开,但对我来说,这似乎有点黑客味

with open('file.csv', 'r') as f:
    text = f.read()
    text = text.replace('   ', ' ')
    text = StringIO(text)
    df = pd.read_csv(text)

我怎么能直接用熊猫来做呢?

你试过pd.read_csv'file.csv',sep='\s+'?

该死,我需要学习正则表达式。许多感谢使用delim_whitespace=True。与sep='\s+'相比有什么好处?sep的regex参数调用速度较慢的python解析器。我不确定delim_空格是否也有同样的作用,但它肯定更为惯用,确实更为惯用。非常感谢。