首页 > 解决方案 > 从文件中读取逗号分隔的值而不使用循环?

问题描述

如果文本文件的每一行看起来像这样

Carlos Guestrin,CIS 41A,4.5,A,BUS 55,5,A,BUS 18,5,B+,HUMI 16,4,A-

如何在不使用循环的情况下将所有数据读入数据结构?我正在考虑将名称(Carlos)作为实例变量,并且仅将名称之后的值存储到数据结构中,即元组字典(以类名作为键值)

标签: pythoncsv

解决方案


您可以使用 csv 库:

import csv
with open('file.csv') as f:
    data = list(csv.reader(f))

数据成为列表列表,每个列表都是文件中的一行。

编辑:

要将其转换为元组字典,您可以使用字典理解进一步处理它:

data = {i[1]: {"Name": i[0], "Grades": tuple(i[1:])} for i in data}

如果您想删除第一行,只需切片数据 ( data = data[1:])


推荐阅读