<p>这可能会满足您的要求,但我个人会使用列表(dict)数据结构:</p>
<pre class="lang-py prettyprint-override"><code>import csv
import json
def open_csv(path):
'''return a list of dictionaries
'''
with open(path, 'r') as file:
reader = csv.DictReader(file)
return [dict(row) for row in reader]
data_list = open_csv('data.csv')
data_dict = {item['name']:
{k: v for k, v in item.items()
if k != 'name'}
for item in data_list}
print('list of dict:')
print(json.dumps(data_list, indent=4))
print('dict of dict:')
print(json.dumps(data_dict, indent=4))
</code></pre>
<p>输出:</p>
<pre><code>list of dict:
[
{
"name": "Alice",
"AGATC": "2",
"AATG": "8",
"TATC": "3"
},
{
"name": "Bob",
"AGATC": "4",
"AATG": "1",
"TATC": "5"
},
{
"name": "Charlie",
"AGATC": "3",
"AATG": "2",
"TATC": "5"
}
]
dict of dict:
{
"Alice": {
"AGATC": "2",
"AATG": "8",
"TATC": "3"
},
"Bob": {
"AGATC": "4",
"AATG": "1",
"TATC": "5"
},
"Charlie": {
"AGATC": "3",
"AATG": "2",
"TATC": "5"
}
}
</code></pre>