【问题标题】:Pandas read filename with spaces熊猫读取带空格的文件名
【发布时间】:2020-12-03 14:37:16
【问题描述】:

我有一个文本文件,其中包含 3 列,由空格分隔,我喜欢将其放入数据框中。 我使用以下构造来执行此操作:

df = pd.read_csv(my_file, sep=' ', skiprows=4, names=('cola','colb','filename') )

这很好,直到我遇到一个包含空格的文件名。

我在 pd.read_csv 中找不到限制列数并将最后一位视为 1 列的选项。 如何将这样的文件放入数据框中?

PS 我知道文件的格式很愚蠢,但那是我无法控制的

【问题讨论】:

  • 文件路径如何?

标签: python pandas dataframe import


【解决方案1】:

我会这样做:

path = r"C:/Users/MY folder/Python/file name.csv"

df = pd.read_csv(path, sep=' ', skiprows=4, names=('cola','colb','filename') )

【讨论】:

  • 感谢您的回答,但这不是问题所在。 “文件名”列可以有空格,但我想将第二个空格之后的所有内容都视为一列。
【解决方案2】:

找到了一种方法:

df = pd.read_csv(tcs_file, sep='!@#', skiprows=4, engine='python', names=['line'])

df[['cola','colb','filename']] = df.line.str.split(" ", 3 , expand=True)

df.drop('line', axis=1, inplace=True)

不确定这是否是正确的做法,但只要它有效,我很高兴:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2019-03-31
    • 2020-04-17
    • 2017-10-21
    • 2021-07-06
    相关资源
    最近更新 更多