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

Python读取CSV生成列表后如何去除元素单引号并保留列表类型?

解决方案

你现在遇到的单引号问题本质是csv.reader默认读取到的所有字段均为字符串类型,打印时才会显示单引号,不需要更换读取文件的方式,仅需添加字段转整数的逻辑即可实现预期效果。
另外你当前代码中使用with上下文管理文件对象,退出代码块时会自动关闭文件,末尾的csv_file.close()属于冗余代码,可以直接删除。

调整后的代码(基于原有csv库方案)

import csv

with open("jobs.csv") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=",")
    # 新增int类型转换逻辑,将字符串转为整数
    jobs_data1 = [[tuple(map(int, row[i : i + 2])) for i in range(0, len(row), 2)] for row in csv_reader]
       
    print(jobs_data1)
    print(type(jobs_data1))

替代方案:不使用csv库,直接逐行读取

如果不想依赖csv库,也可以用原生文件读取实现同样效果:

jobs_data1 = []
with open("jobs.csv") as f:
    for line in f:
        # 去除行首尾空白、按逗号拆分后全部转成整数
        num_list = list(map(int, line.strip().split(',')))
        # 每两个元素打包为一个元组
        row_res = [tuple(num_list[i:i+2]) for i in range(0, len(num_list), 2)]
        jobs_data1.append(row_res)

print(jobs_data1)
print(type(jobs_data1))

两种方案运行后输出的jobs_data1都符合你要求的格式,且保留列表类型。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:30:02