You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas读取CSV文件时跳过行与列的方法

用Pandas读取不规范机器参数CSV文件的实用方案

针对你遇到的CSV文件格式混乱(大量空行空列、数据从第301行开始)的问题,直接用默认参数读取肯定会出问题,给你一套分步处理的方法:

  • 跳过前300行,定位有效数据起始点
    Pandas的read_csv提供了skiprows参数,可以直接跳过前面无关的行。如果第301行是数据的表头,直接用:

    df = pd.read_csv('你的文件名.csv', skiprows=300)
    

    如果第301行是纯数据(没有表头),就加上header=None,后续再自定义表头:

    df = pd.read_csv('你的文件名.csv', skiprows=300, header=None)
    # 自定义表头示例
    df.columns = ['参数编号', '温度', '压力', '转速', '振动值']
    
  • 清理全空的行和列
    读取后用dropna过滤掉完全空的行和列,避免干扰后续分析:

    # 删除全空的行
    df = df.dropna(how='all', axis=0)
    # 删除全空的列
    df = df.dropna(how='all', axis=1)
    

    要是遇到部分列有数据但存在空值的情况,别用how='any',会误删有效数据;如果需要保留非空值,后续可以单独处理某列的空值(比如填充默认值)。

  • 额外处理:编码与分隔符问题
    如果读取时出现乱码,试试指定编码格式,比如encoding='gbk'(Windows生成的CSV常用)或encoding='utf-8':

    df = pd.read_csv('你的文件名.csv', skiprows=300, encoding='gbk')
    

    要是CSV的分隔符不是逗号,用sep参数指定,比如制表符分隔就用sep='\t'。

完整示例代码

import pandas as pd

# 读取文件,跳过前300行,指定编码(按需调整)
df = pd.read_csv('machine_params.csv', skiprows=300, encoding='gbk')

# 清理全空行和列
df_cleaned = df.dropna(how='all', axis=0).dropna(how='all', axis=1)

# 查看处理后的前5行数据
print(df_cleaned.head())

内容的提问来源于stack exchange,提问作者Ernu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:45:37