如何解决将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)']
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。