mad_bennett 2023-04-29 07:03 采纳率: 0%
浏览 37

为什么在pandas中使用read_csv函数的skip_blank_lines = True消除不了空白行?

请教:为什么在pandas中使用read_csv函数的skip_blank_lines = True消除不了空白行?

原CSV文件是这样的:

img

在Jupyter notebook中显示是这样的:

img

加入了comment = ‘#’参数和skip_blank_lines = True参数,前者起作用了,但后者没起作用:

img

我查看了pandas官网的用户指南,里面显示skip_blank_lines参数的作用是正常的,没有进行更改或者移除,另外它的默认值就是True,也就是说read_csv函数应该是自动省略空行的,但实际中并不是:

img

请教各位,这是为什么?为什么使用不了skip_blank_lines参数移除空白行?非常感谢!

  • 写回答

1条回答 默认 最新

  • Bony- 2023-05-04 13:43
    关注

    以下回答参考GPT并且由Bony-整理:
    确实,在 Pandas 的 read_csv() 函数中,skip_blank_lines 参数的默认值就是 True,这意味着空白行应该被自动省略掉,而不需要进行额外的设置。因此,您可能需要进一步检查您的 CSV 文件,以确定其中是否真的存在空白行。

    如果您已经确定存在空白行,但使用 skip_blank_lines=True 参数仍然无法跳过这些行,则可以尝试其他解决方案。例如,可以使用正则表达式来匹配和删除空白行,或者使用 na_values 参数将空白行识别为缺失值并将其删除。另外,您也可以考虑将文件导入到 Pandas 后手动处理这些空白行。

    以下是一个示例代码,使用 na_values 参数将空白行识别为缺失值,并使用 dropna() 方法删除这些行:

    import pandas as pd
    
    df = pd.read_csv('file.csv', comment='#', na_values=[''], skip_blank_lines=True)
    df = df.dropna()
    

    在这里,我们将 na_values 参数设置为空白字符串,并将 skip_blank_lines 参数设置为 True。读取完文件后,我们使用 dropna() 方法删除所有包含缺失值的行,从而删除了所有空白行。另外,我们还添加了 comment 参数,将以 # 开头的行视为注释并忽略掉。

    评论

报告相同问题?

问题事件

  • 修改了问题 4月29日
  • 创建了问题 4月29日

悬赏问题

  • ¥30 关于#微信#的问题:微信实名不绑卡 可以实现吗 有没有专家 可以解决
  • ¥15 (标签-考研|关键词-set)
  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题