将CSV文件转换为Python中的2D表

问题描述

我有一个具有以下结构的CSV文件:

Configuration ID,Value (1),Value (2),.......,Value (N)
Config (1),X (1),X (2),X (N)
Config (2),Y (1),Y (2),Y (N)

每一行的配置ID在整个文件中都是唯一的。

我想在Python(v3.8)中读取此CSV文件,并能够通过传递Config ID和Value ID(类似于2D字典之类的东西)来查找特定值

print(dataStucture[Config (1)][Value (2)])

先前的语法应打印:X(2)

Python中是否有任何嵌入的函数可以解析CSV文件并将其转换为2D字典,或者可以让我传递两个唯一键以从CSV文件中获取值的数据结构?任何提示将不胜感激。

解决方法

如果您不想使用pandas,而是使用csv,则可以使用以下代码:

import csv

data_stucture = {}
with open('sample.csv') as csvfile:
    spamreader = csv.reader(csvfile)
    header = next(spamreader,None)  # skip the headers
    for row in spamreader:
        data_stucture[row[0].strip()] = {
            key.strip(): value.strip() for key,value in zip(header[1:],row[1:])
        }

考虑文件的结构,data_structure的内容将

{'Config (1)': {'Value (1)': 'X (1)','Value (2)Value (N)': 'X (2)'},'Config (2)': {'Value (1)': 'Y (1)','Value (2)Value (N)': 'Y (2)'}}

这意味着您将可以使用"X (1)"获得data_stucture['Config (1)']['Value (1)']

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...