首页 > 解决方案 > 尝试使用带有两个头的 CSV 文件创建两个字典列表

问题描述

我有这个 CSV 文件

> ID da Reunião,Tópico,Horário de Início,Horário de Término,E-mail do
> usuário,Duração (Minutos),Participantes, 82418495860,AC
> [TP-B],11/03/2021 10:33:12,11/03/2021 13:18:50,gilberto@ipb.pt,166,29;
> 
> Nome (Nome original),E-mail do usuário,Duração total
> (minutos),Convidado Daniel Liu Chen
> a47340,a47340@alunos.ipb.pt,166,Não Cristiano Afonso
> a47339,a47339@alunos.ipb.pt,143,Não Cláudio Cunha
> a48527,a48527@alunos.ipb.pt,138,Não Nelson
> Teixeira,a45290@alunos.ipb.pt,127,Sim Bruno
> Teixeira,a43421@alunos.ipb.pt,13,Não Miguel
> Gonçalves,a37552@alunos.ipb.pt,139,Não Deomar
> Correia,a43879@alunos.ipb.pt,138,Não

我需要为 un List of Dict 提取前两行,而为另一个 List of Dict 提取其他行。

我用这个 .py

lista = list()
dados = dict()
filename = "teste.csv"

file_handle = open(filename, 'r', newline='\n', encoding='utf-8-sig')


# open file in read mode
with file_handle as read_obj:
    # pass the file object to DictReader() to get the DictReader object
    dict_reader = csv.DictReader(read_obj)
    # get a list of dictionaries from dct_reader
    list_of_dict = list(dict_reader)
    # print list of dict i.e. rows
    print(list_of_dict)

结果是:

[{'ID da Reunião': '82418495860', 'Tópico': 'AC [TP-B]', 'Horário de Início': '11/03/2021 10:33:12', 'Horário de Término': '11/03/2021 13:18:50', 'E-mail do usuário': 'gilberto@ipb.pt', 'Duração (Minutos)': '166', 'Participantes': '29;', '': None}, {'ID da Reunião': 'Nome (Nome original)', 'Tópico': 'E-mail do usuário', 'Horário de Início': 'Duração total (minutos)', 'Horário de Término': 'Convidado', 'E-mail do usuário': None, 'Duração (Minutos)': None, 'Participantes': None, '': None}, {'ID da Reunião': 'Daniel Liu Chen a47340', 'Tópico': 'a47340@alunos.ipb.pt', 'Horário de Início': '166', 'Horário de Término': 'Não', 'E-mail do usuário': None, 'Duração (Minutos)': None, 'Participantes': None, '': None}, ..... 

也就是说,他对整个 CSV 应用了 1 个头。

如何在不混淆的情况下将日期与字典列表分开

标签: python

解决方案


推荐阅读