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

如何用Pandas读取CSV首列到列表?重复结果问题排查

问题排查步骤与解题思路

一、先修正核心列选择错误

你代码里用了df.columns[1],但Python索引从0开始,这个取的是第二列,如果你的目标是第一列,必须改成df.columns[0]——这是最容易踩的坑,先确认这个点。

二、排查重复列表的具体原因

1. 验证每个CSV的读取结果

在读取每个文件后,先打印DataFrame的基础信息和前几行,确认数据是否正确读取:

df1 = pd.read_csv('C:\\Users\\fskid\\OneDrive\\Documents\\Data Structures Fall 2023\\Homework Five Python\\SportsTeamsOne.csv')
print("=== df1 信息 ===")
df1.info()
print(df1.head())

# 对df2、df3执行同样的打印操作

这一步能快速确认:

  • 三个文件路径是否真的指向不同文件(会不会复制粘贴时路径没改全?)
  • 每个CSV的列结构、数据内容是否符合预期
  • 是代码读取错误导致重复,还是CSV文件本身内容重复

2. 替换更直观的列选择方式

避免用列索引可能带来的混淆,推荐两种更清晰的写法:

  • 明确取第一列:df.iloc[:, 0].tolist()(iloc是按位置索引,[:,0]表示所有行的第0列)
  • 如果知道列名,直接用列名:df['你的第一列列名'].tolist(),比索引更不容易出错

3. 重构代码减少冗余(避免重复出错)

你当前的代码重复度太高,用循环批量处理多个文件,既简洁又能降低重复代码的出错概率:

import pandas as pd

# 把所有文件路径统一存到列表
file_paths = [
    'C:\\Users\\fskid\\OneDrive\\Documents\\Data Structures Fall 2023\\Homework Five Python\\SportsTeamsOne.csv',
    'C:\\Users\\fskid\\OneDrive\\Documents\\Data Structures Fall 2023\\Homework Five Python\\SportsTeamsTwo.csv',
    'C:\\Users\\fskid\\OneDrive\\Documents\\Data Structures Fall 2023\\Homework Five Python\\SportsTeamsThree.csv'
]

# 循环读取并提取第一列
all_lists = []
for path in file_paths:
    df = pd.read_csv(path)
    first_col_list = df.iloc[:, 0].tolist()
    all_lists.append(first_col_list)

# 逐个打印结果
for i, lst in enumerate(all_lists, 1):
    print(f"列表{i}: {lst}")

三、额外调试建议

  • 若怀疑是环境缓存问题,重启Python解释器后再运行代码
  • 手动打开三个CSV文件,确认第一列内容是否本身就重复(有时候是文件本身的问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:35:12