在Python中将CSV文件转换为2D表格
我有一个具有以下结构的CSV文件:在Python中将CSV文件转换为2D表格,python,python-3.x,csv,parsing,data-structures,Python,Python 3.x,Csv,Parsing,Data Structures,我有一个具有以下结构的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文件,并能够通过传递配置ID和值ID(类似于2
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文件,并能够通过传递配置ID和值ID(类似于2D dictionary)来查找特定的值
前面的语法应该打印:X(2)
Python中是否有任何嵌入式函数可以解析CSV文件并将其转换为2D字典或任何允许我传递两个唯一键以从CSV文件获取值的数据结构?任何提示都将不胜感激。如果您不想使用
pandas
而是csv
,您可以使用以下代码:
导入csv
数据结构={}
将open('sample.csv')作为csvfile:
spamreader=csv.reader(csvfile)
header=next(spamreader,None)#跳过标题
对于spamreader中的行:
数据结构[行[0].strip()]={
key.strip():key的value.strip(),zip中的值(头[1:],行[1:])
}
考虑到文件的结构方式,数据结构的内容将是
{'Config (1)': {'Value (1)': 'X (1)', 'Value (2)Value (N)': 'X (2)'},
'Config (2)': {'Value (1)': 'Y (1)', 'Value (2)Value (N)': 'Y (2)'}}
这意味着您可以使用数据结构['Config(1)]['Value(1)]
获取“X(1)”
,您可以使用pandas将CSV读取到数据帧中。语法:df=pandas.read.csv(“path\u to\u file.csv”)
@IoT,我的答案能解决你的问题吗?@lmiguelvargasf它能解决我的问题。但是Jacob所说的使用pandas和data frame更合适,因为它提供了更大的灵活性来操作我的数据。但是,除了上面的答案外,Jacob还应该说明哪个列也用于索引。
{'Config (1)': {'Value (1)': 'X (1)', 'Value (2)Value (N)': 'X (2)'},
'Config (2)': {'Value (1)': 'Y (1)', 'Value (2)Value (N)': 'Y (2)'}}