如何将csv读入python中的字典?

Posted

技术标签:

【中文标题】如何将csv读入python中的字典?【英文标题】:how to read a csv into a dictionary in python? 【发布时间】:2016-02-24 20:20:52 【问题描述】:

我想读取一个 csv 文件 (psc.csv),它有如下两列:

cellname,scrambling
UER1100A,128
UER1100B,129
UER1100C,130
UER1300A,1
UER1300B,2
UER1300C,3
UER1400H,128

并将整个文件放入一个字典中,使字典看起来像:

'UER1100A': '128' , 'UER1100B': '129' , 'UER1100C': '130' ,  ...

我尝试如下使用csv 模块,但它返回混合输出并在单独的字典中。解决办法是什么? 我的代码:

#!/usr/bin/python3
import csv
with open('psc.csv', newline='') as pscfile:
    reader = csv.DictReader(pscfile)
    for row in reader:
        print(row)

【问题讨论】:

【参考方案1】:

只需将每一行添加到字典中:

import csv

results = 
with open('psc.csv', newline='') as pscfile:
    reader = csv.DictReader(pscfile)
    for row in reader:
        results[row['cellname']] = row['scrambling']

我不会使用DictReader,而是在此处使用常规的reader,并在跳过第一行后将结果直接提供给dict() 调用:

import csv

with open('psc.csv',newline='') as pscfile:
    reader = csv.reader(pscfile)
    next(reader)
    results = dict(reader)  # pull in each row as a key-value pair

【讨论】:

以上是关于如何将csv读入python中的字典?的主要内容,如果未能解决你的问题,请参考以下文章

Python 字典到 CSV

Python 字典到 CSV

将 CSV 值读入列表字典的大多数 Pythonic 方式

将csv文件作为python中的变量读入

如何将csv读入元组python列表?

Python将整数从csv文件读入列表