簡體   English   中英

將 csv 文件讀入字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM