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

如何在Python中将CSV列导入为列表?多列场景实现

将CSV文件的单词和释义列转换为IPython中的列表

嘿,我来帮你搞定这个需求!把CSV里的单词和释义转成IPython里的列表其实很简单,这里有两种实用的方法,根据你的CSV大小和使用习惯来选:

方法一:用Python标准库 csv(轻量无依赖)

如果不想额外安装第三方库,标准库的csv模块就够用,处理大型文件也能稳定运行。

假设你的CSV文件名为vocabulary.csv,内容示例如下:

word,definition
apple,苹果,一种红/绿色的常见水果
banana,香蕉,长条形黄色热带水果
cat,猫,受欢迎的家养宠物

在IPython里直接运行这段代码即可:

import csv

# 初始化两个空列表用来存储数据
words = []
definitions = []

# 打开文件,注意编码(中文文件建议用utf-8避免乱码)
with open('vocabulary.csv', mode='r', encoding='utf-8') as csv_file:
    # 用DictReader可以直接通过列名提取数据,自动跳过表头行
    csv_reader = csv.DictReader(csv_file)
    for row in csv_reader:
        words.append(row['word'])
        definitions.append(row['definition'])

完成后,你就能像期望的那样操作这两个列表了,比如:

# 查询某个单词的释义
print(definitions[words.index('apple')])  # 输出: 苹果,一种红/绿色的常见水果

# 遍历所有单词和对应释义
for word, desc in zip(words, definitions):
    print(f"{word}: {desc}")

方法二:用 pandas(推荐处理大型CSV)

如果你的CSV文件特别大,pandas的处理效率会更高,而且代码更简洁。先确保你已经安装了pandas:

pip install pandas

然后在IPython中执行以下代码:

import pandas as pd

# 读取CSV文件,指定编码避免乱码
df = pd.read_csv('vocabulary.csv', encoding='utf-8')

# 直接将DataFrame的列转换为列表
words = df['word'].tolist()
definitions = df['definition'].tolist()

同样,你可以轻松操作这两个列表:

# 查找banana的释义
target_word = 'banana'
if target_word in words:
    print(definitions[words.index(target_word)])  # 输出: 香蕉,长条形黄色热带水果

一些实用小提示

  • 如果你的CSV没有表头(第一行就是数据),需要调整代码:用csv.reader代替DictReader,或者在pd.read_csv中添加header=None并手动指定列名,比如df = pd.read_csv('vocabulary.csv', header=None, names=['word', 'definition'], encoding='utf-8')。
  • 要是CSV文件不在当前工作目录,记得填写完整路径,比如Windows路径'C:/Users/xxx/Documents/vocabulary.csv',或者Linux/macOS路径'/home/xxx/data/vocabulary.csv'。
  • 遇到乱码问题时,试试把encoding参数改成gbk或gb2312,不少中文CSV是用这两种编码保存的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:35:22