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

如何将词频CSV文件转换为指定格式的Python字典?

解决方案

方法一:使用Pandas快速转换

利用Pandas的set_index()和to_dict()方法,直接将word列设为索引后转换为目标格式字典:

import pandas as pd
data = pd.read_csv("./unigram_freq.csv")
word_freq = data.set_index('word')['count'].to_dict()

说明

  • set_index('word'):将CSV中的word列设置为DataFrame的索引
  • ['count']:提取词频列
  • to_dict():将索引(单词)与对应词频值转换为键值对字典

方法二:使用原生CSV模块(适合大文件)

如果担心33万行的大文件占用过多内存,可以用Python原生csv模块逐行读取构建字典,内存效率更高:

import csv
word_freq = {}

with open('./unigram_freq.csv', 'r', encoding='utf-8') as f:
    reader = csv.DictReader(f)
    for row in reader:
        # 将count转为整数(CSV读取的默认是字符串)
        word_freq[row['word']] = int(row['count'])

原代码问题分析

你之前的代码用字典推导式把列名作为键,列的所有值组成的列表作为值,所以得到的是包含两个键的字典,而非每个单词对应词频的结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:52:45