You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用Python将指定格式的CSV文件转换为目标结构的字典

将CSV转换为目标字典结构的Python实现

没问题!用Python自带的csv模块就能轻松完成这个转换,不需要额外安装库。下面是具体的实现步骤和代码示例:

方法思路

  1. 读取CSV文件时,利用csv.DictReader把每一行数据映射成表头为键的字典,方便直接提取对应字段。
  2. 初始化一个空字典,遍历每一行数据:
    • spelling列的值作为新字典的键
    • pronunciationsyllablestag这三列的值组成列表,作为对应键的值
  3. 最终得到你想要的字典结构。

完整代码示例

import csv
from io import StringIO

# 模拟你的CSV内容(如果是本地文件,直接用open()读取即可)
csv_content = """spelling,pronunciation,syllables,tag
head,H-EH-D,1,NSING
bottle,B-O-T-UH-L,2,NSING
fall,F-AW-L,1,VBASE"""

# 初始化目标字典
result_dict = {}

# 读取CSV并构建字典
with StringIO(csv_content) as csv_file:
    reader = csv.DictReader(csv_file)
    for row in reader:
        # 提取需要的字段并组装成列表
        value_list = [row['pronunciation'], row['syllables'], row['tag']]
        # 将spelling作为键,列表作为值存入字典
        result_dict[row['spelling']] = value_list

# 打印结果
print(result_dict)

运行结果

运行上述代码后,输出的字典结构如下:

{'head': ['H-EH-D', '1', 'NSING'], 'bottle': ['B-O-T-UH-L', '2', 'NSING'], 'fall': ['F-AW-L', '1', 'VBASE']}

适配本地CSV文件

如果你的CSV是本地文件(比如words.csv),只需要把代码中的StringIO部分替换成文件读取即可:

with open('words.csv', 'r', encoding='utf-8') as csv_file:
    reader = csv.DictReader(csv_file)
    # 后续逻辑和上面一致

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

火山引擎 最新活动