python - 如何将字典中键的值打印为列表?
问题描述
我有一个应该作为字典阅读的 .csv 文件。每个键应该是一个字符串,而该键的值应该是一个列表。
实际的 csv 文件: csv 文件
预期输出:
import csv
import sys
if len(sys.argv) != 2 :
print("Usage: csvToDict.py <filename>")
sys.exit(1)
file_name = sys.argv[1]
with open(file_name, "r") as file :
reader = csv.DictReader(file)
for row in reader:
for key in row:
print(row[key], end='')
print()
使用此代码,它将所有行打印为值(标题除外,它被视为键)
我的输出:
如何获得所需的输出?
解决方案
听起来您想将给定列的所有值作为列表获取。
如果是这种情况,这样的事情应该可以工作:
from collections import defaultdict
...
all_values = defaultdict(list)
with open(file_name, "r") as file :
reader = csv.DictReader(file)
for row in reader:
for key, value in row.items():
all_values[key].append(value)
推荐阅读
- javascript - 无间隙的收录器/选框效果
- c++ - 数组向量是否连续?
- javascript - TypeScript 中可索引类型中的多个索引器
- ansible - Ansible:在 role/xyzrole/main.yml 下包含变量文件
- java - Java中字段、变量、属性和属性的区别
- stm32 - STM32F103 上的 FATFS R0.11 读取速度慢 - SPI
- html - 如何在将文本悬停在其下方时使标记更改颜色?
- javascript - 应用程序脚本和 setNumberFormat
- android - 如何从其他文件夹中意图 Kt 文件?
- linux - 如何通过 unix sock 将 haproxy 信息日志发送到 rsyslog?