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

Python CSV:如何读取指定行列范围的数据

嘿,这个问题我之前处理过类似的场景,其实用Pandas有几个很直接的解决办法,帮你避开前29行的干扰:

解决方案
  • 方法一:直接跳过前29行并指定目标列
    这是最高效的方式,不需要加载整个文件到内存。Pandas的read_csv自带两个参数完美适配你的需求:

    • skiprows=29:直接跳过前29行(你需要从第30行开始读取,对应0索引的行号是29,所以跳过前29行正好从目标行开始)
    • usecols:指定要提取的列。注意这里是0索引规则,你说的第2、4、8列(按Excel的1开始计数)对应索引1、3、7;如果第30行是表头,也可以直接写列名,这样更稳妥。

    代码示例:

    import pandas as pd
    
    # 按列位置提取(0索引)
    df = pd.read_csv('your_daily_data.csv', skiprows=29, usecols=[1, 3, 7])
    
    # 如果第30行是表头,用列名提取更可靠
    # df = pd.read_csv('your_daily_data.csv', skiprows=29, usecols=['col2_name', 'col4_name', 'col8_name'])
    
  • 方法二:先读全量再切片(适合需要校验前29行的情况)
    如果你偶尔需要确认前29行的内容,或者担心skiprows可能误跳,可以先读取整个文件,再筛选目标范围:

    import pandas as pd
    
    # 读取全部数据,header=None表示不把第一行当表头(前29行是无效内容)
    full_data = pd.read_csv('your_daily_data.csv', header=None)
    # 从第30行(索引29)开始,提取指定列
    target_data = full_data.loc[29:, [1, 3, 7]]
    

补充说明:如果前29行里有部分非空白内容但确实不需要,skiprows=29依然有效——它只按行的位置跳过,不管内容是什么。如果你的每日CSV格式完全一致,方法一的效率会更高,尤其当文件很大的时候。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:53:20