[英]Reading a csv file into a dictionary
我的代碼如下所示:
from sys import argv
import csv
person = {}
file = argv[1]
sequence = (open(argv[2], 'r').read()).strip()
with open(file, 'r', newline = '') as csvfile:
reader = csv.reader(csvfile)
for k, v0, v1, v2, v3, v4, v5, v6, v7 in reader:
person[k] = [v0, v1, v2, v3, v4, v5, v6, v7]
有沒有其他方法可以遍歷列以更簡潔或更有效地添加到字典中? 例如,如果您不知道列數?
您可以使用列表切片來實現這一點:使用行中的第一個元素作為鍵,其余元素作為值。
with open(file, 'r', newline = '') as csvfile:
for row in csv.reader(csvfile):
person[row[0]] = row[1:]
您可以使用unpacking
:
with open(file, 'r', newline = '') as csvfile:
reader = csv.reader(csvfile)
for key, *values in reader:
person[key] = values
您還可以將csv
文件直接讀入 Pandas 數據幀:
import pandas as pd
data = pd.read_csv("filename.csv")
然后放入字典
data.to_dict()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.