将CSV文件读入字典

时间:2020-09-26 08:20:04

标签: python csv

我的代码如下:

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]

还有其他方法可以更简洁或有效地遍历各列以添加到字典中吗?例如,如果您不知道列数?

3 个答案:

答案 0 :(得分:2)

您可以使用list slicing实现此目的:将row中的第一个元素用作键,其余元素用作值。


with open(file, 'r', newline = '') as csvfile:
    for row in csv.reader(csvfile):
        person[row[0]] = row[1:]

答案 1 :(得分:1)

您可以使用unpacking

<!-- Current Profile Photo -->
<div class="mt-2" x-show="! photoPreview">
<img src="{{ $this->user->profile_photo_url }}"
          alt="{{ $this->user->name }}"
          class="rounded-full h-20 w-20 object-cover">
</div>

答案 2 :(得分:0)

您还可以将import pandas as pd data = pd.read_csv("filename.csv") 文件直接读入熊猫数据框中:

data.to_dict()

然后将其放入字典

with open(file, 'r', newline = '') as csvfile: reader = csv.reader(csvfile) for key, *values in reader: person[key] = values