python - 带有\W+ 分隔符的意外 read_csv 结果

标签 python pandas

我有一个输入文件,我正在尝试读入 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/

相关文章:

python - Appengine模型过滤问题

python - 使用默认值将 pandas.DataFrame 列分配给系列

python - 如何使用 Pandas 按 10 分钟分组时间序列

python - 使用 find_peaks 查找局部最大值

python - append 数据框的更有效方法

javascript - 有哪些选项可用于定义具有 node.js 依赖项的 Python 包?

python - 从字典列表中添加新列

Pandas :按多列分组。如何获得所有组合?

python - Pyparsing - 查找嵌套多项式

python - 创建 pandas 汇总表(但不是 groupby)