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

Python读取逗号分隔文件并创建两个List的问题

嘿,作为Python新手碰到这种问题真的太常见啦,我来帮你把思路理清楚,一步步解决~

首先咱们明确目标:把每行逗号前的内容收集到list1,逗号后的收集到list2对吧?那咱们可以这么来做:

核心思路

  • 先初始化两个空列表,用来存数据
  • 用安全的方式打开文件(避免忘记关闭),逐行读取
  • 对每行做清理(去掉换行符、多余空格),再按逗号分割成两部分
  • 把分割后的两部分分别加到对应的列表里,还要处理格式不对的行避免报错

完整代码示例

# 初始化两个空列表,用来存放数据
list1 = []
list2 = []

# 使用with语句打开文件,它会自动帮你关闭文件,不用手动写close()
with open('你的文件名.txt', 'r') as file:
    # 逐行遍历文件里的内容
    for line in file:
        # 先去掉每行末尾的换行符,同时清除前后的空格(比如有些行可能开头结尾有空格)
        cleaned_line = line.strip()
        # 如果是空行,直接跳过,避免后续处理出错
        if not cleaned_line:
            continue
        # 按逗号把一行分割成两个部分
        parts = cleaned_line.split(',')
        # 检查分割后是不是正好有两个元素,防止有些行格式不对(比如没逗号或者多个逗号)
        if len(parts) == 2:
            # 把每个部分再清一遍空格(比如逗号前后可能有空格),然后加入对应列表
            list1.append(parts[0].strip())
            list2.append(parts[1].strip())
        else:
            # 可选:如果有格式错误的行,打印出来方便你排查问题
            print(f"注意:这行格式有问题,已跳过 -> {cleaned_line}")

# 打印结果看看是不是符合预期
print("List 1:", list1)
print("List 2:", list2)

几个新手容易踩的坑

  • 忘记处理换行符:直接读取的行末尾会带\n,所以一定要用strip()清理
  • 没考虑空格:有些行可能是值1 , 值2这种,分割后会带空格,所以每个部分也要strip()
  • 没处理异常行:如果某行没有逗号,直接取parts[0]和parts[1]会报错,所以要先检查分割后的长度
  • 手动打开文件后忘记关闭:用with语句就完美解决这个问题啦

你可以把代码里的你的文件名.txt换成你实际的文件名,运行试试~如果还有问题,看看控制台有没有打印格式错误的行,排查下那些行的内容就好啦

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:41:15