我有一个输入文件,我正在尝试读入 pandas 数据帧。 该文件以空格分隔,包括第一个值之前的空格。 我已尝试使用“\W+”正则表达式作为分隔符的 read_csv 和 read_table 。
data = pd.io.parsers.read_csv('file.txt',names=header,sep="\W+")
他们读取了正确的列数,但值本身完全是假的。有没有其他人经历过这种情况,或者我使用不当
我还尝试逐行读取文件,从 row.split()
创建一个系列并将该系列附加到数据帧,但它似乎由于内存而崩溃。
还有其他选项可以从文件创建数据框吗?
我使用的是 Pandas v0.11.0,Python 2.7
最佳答案
正则表达式 '\W'
表示“不是单词字符”(“单词字符”是字母、数字和下划线),请参阅 re docs ,因此出现奇怪的结果。我认为您的意思是使用空格'\s+'
。
注:read_csv
提供了一个 delim_whitespace
参数(您可以将其设置为 True),但我个人更喜欢使用 '\s+'
。
关于python - 带有\W+ 分隔符的意外 read_csv 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17998285/