【问题标题】:Create a dictionary/list from a CSV file从 CSV 文件创建字典/列表
【发布时间】:2015-09-16 01:46:33
【问题描述】:

我有一张这样的表格,我想把它归入字典。我已经导入了,它是这种逗号分隔的格式

Accession,A,B,O,K,G,F
3364,+,-,+,-,+,-
3365,-+,-,+,-,+,- 
3366,+,-,-,-,+,+  

我想这样说:

{'3364': {'A': '+', 'B': '-', 'O': '+','K': '-', 'G': '+', 'F': '-'}}

我该怎么做?

【问题讨论】:

  • csv.DictReader做一些研究。这不是代码编写服务。
  • 你看过python文档吗? csvjson 模块应该可以轻松解决您的问题。
  • 对不起。我有一个我试过的编码,但我忘了把它放在这里。

标签: python list csv dictionary


【解决方案1】:

乔恩是对的,但这里有一个提示:

d = {}
a = '3364,+,-,+,-,+,-'
n, *pm = a.split(',')
d[n] = {chr(i+65): v for i, v in enumerate(pm)}
print(d)

【讨论】:

    【解决方案2】:

    这是 Python 3.4 的一种方式

    import csv
    from pprint import pprint
    
    a_dict = {}
    
    with open('csv_data.csv', newline='') as csvfile:
        csvreader = csv.reader(csvfile, delimiter=',', quotechar='|')
        header = csvreader.__next__()
        header_keys = header[1:]
        for row in csvreader:
            a_dict[row[0]] = {}
            key_value = list(zip(header_keys, row[1:]))
            a_dict[row[0]].update(key_value)
    
    pprint(a_dict)
    

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2021-02-19
      • 2016-08-19
      • 1970-01-01
      • 2016-09-03
      • 2011-10-08
      • 2012-12-15
      • 2012-01-02
      相关资源
      最近更新 更多