【问题标题】:Python: importing double pipe csv pandas [duplicate]Python:导入双管csv熊猫[重复]
【发布时间】:2018-10-28 06:50:16
【问题描述】:

我正在使用 Python 3.7。我正在尝试使用 pandas 将双管道分隔的 .txt 文件导入 Python。

我的代码如下:

import pandas as pd
avm_sample = pd.read_csv(_avm_sample_file,sep='|')

由于双管道分隔符,我最终得到多个空白列。

是否有任何简单的方法来分隔文件?或者,将数据导入熊猫数据框的更好方法?文件本身超过 GB。

谢谢,

迈克

【问题讨论】:

  • 似乎你可以使用pd.read_table(_avm_sample_file, sep='\|\|'),如this answer所示,但根据this answerread_csv支持多字符分隔符。

标签: python pandas csv


【解决方案1】:

当您将'|' 设置为分隔符时,很自然地,|| 将被解释为两个分隔符,中间有一个空白列。您只需要将代码更改为

avm_sample = pd.read_csv(_avm_sample_file,sep='\|\|')

(正如pault在下面正确指出的那样,这里需要反斜杠,因为如果分隔符不是单个字符,则将其视为正则表达式,而|在正则表达式中具有特殊含义。)

示例

from io import StringIO

import pandas as pd

TESTDATA = StringIO("""a||b
    1||4
    2||6
    """)

>>> pd.read_csv(TESTDATA, sep="\|\|")
    a   b
0   1   4
1   2   6

【讨论】:

  • @pault 非常感谢 - 我已经因此更新了我的答案。你是对的。
  • @pault 谢谢!另一个好点。我更新了。
猜你喜欢
  • 2021-10-09
  • 2020-09-25
  • 2023-03-13
  • 2021-03-25
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2020-02-10
  • 1970-01-01
相关资源
最近更新 更多