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

Python如何读取CSV文件数据并按行调用week、number字段值

Python读取自定义分隔符CSV文件解决方案

现有代码错误点

  • 缩进不符合Python规范:with代码块内的逻辑未统一缩进
  • 参数语法错误:delimiter"\t" 缺少等号赋值,正确写法为delimiter="\t"
  • 方法调用错误:不存在csv.Dictreare方法,无需重复调用csv读取类,直接遍历已初始化的csv_reader对象即可
  • 分隔符匹配问题:若文件实际为多空格分隔而非制表符分隔,指定\t为分隔符会读取失败,可调整文件为标准逗号分隔格式规避该问题

可用实现代码

方案1:无需修改原文件,直接适配多空格分隔格式

import csv

data_list = []
with open("Data.csv", "r") as csv_file:
    # 跳过表头行,需要保留表头可删除该行
    next(csv_file)
    for line in csv_file:
        # 按任意空白字符分割后过滤空值,自动适配多空格分隔
        split_items = [item.strip() for item in line.split() if item.strip()]
        # 取对应位置的week和number字段,number按需转为整型
        data_list.append({
            "week": split_items[1],
            "number": int(split_items[2])
        })

# 后续逐行调用示例
for item in data_list:
    print(f"week: {item['week']}, number: {item['number']}")

方案2:调整文件为标准逗号分隔格式后读取(兼容性更高)

首先将CSV文件内容调整为逗号分隔:

name,week,number
E-mini S&P 500 Options,ES,2
E-mini S&P 500 Weekly Options - Week 1,EW1,4
E-mini S&P 500 Weekly Options - Week 2,EW2,6
E-mini S&P 500 Weekly Options - Week 3,EW3,8
E-mini S&P 500 Weekly Options - Week 4,EW4,10

对应读取代码:

import csv

data_list = []
with open("Data.csv", "r") as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for row in csv_reader:
        data_list.append({
            "week": row["week"],
            "number": int(row["number"])
        })

# 调用方式与方案1完全一致
for item in data_list:
    print(item["week"], item["number"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 12:15:05