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

如何将CSV文件的每一列存储为列表?寻求技术帮助

解决CSV列转列表的问题

嘿,我帮你搞定这个需求!把CSV文件的每一列单独存成列表其实很简单,不管用原生Python还是pandas都能轻松实现,我给你一步步讲清楚~

方法一:用原生Python的csv模块(无需额外依赖)

如果不想用第三方库,用Python自带的csv模块就能完成。核心思路是先读取所有行,再通过转置把行数据变成列数据:

import csv

# 替换成你的CSV文件路径
with open('your_data.csv', 'r', newline='') as csv_file:
    csv_reader = csv.reader(csv_file)
    # 先读取表头(如果你的CSV有表头的话,没有可以跳过这行)
    headers = next(csv_reader)
    # 读取所有行的数据
    all_rows = list(csv_reader)

# 转置行和列:zip(*all_rows)会把每个位置的元素打包成列
column_tuples = list(zip(*all_rows))
# 把元组转成列表(如果需要的话,元组也能直接用)
column_lists = [list(col) for col in column_tuples]

# 输出看看效果
for header, col_list in zip(headers, column_lists):
    print(f"列「{header}」的列表:{col_list}")

方法二:用pandas(更简洁高效)

你之前尝试用pandas没成功,大概率是没找对正确的方法~pandas处理这类需求超级方便,直接取列转成列表就行:

import pandas as pd

# 读取CSV文件,自动识别表头
df = pd.read_csv('your_data.csv')

# 把每一列转成列表,存在字典里方便按列名访问
column_dict = {column_name: df[column_name].tolist() for column_name in df.columns}

# 举个例子,访问名为「Age」的列列表
print(column_dict['Age'])

# 或者遍历所有列
for col_name, col_data in column_dict.items():
    print(f"列「{col_name}」:{col_data}")

小提示

如果之前用pandas得到的是行列表,可能是你用了df.values.tolist()——这个是把整个DataFrame转成每行的列表,而我们需要的是单独的列,直接通过df[列名]拿到列数据,再调用tolist()就搞定啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:03:47