我有一个以下格式的大文本文件,我希望将其转换为 CSV 文件。CSV 文件中的列名应该与下面看到的元组的第一部分相对应。可以安全地假设该行中的第一项(不是元组)将始终采用以下格式。
其他问题包括每行可能没有相同的字段 - 例如,有些有状态,有些没有。有些有同一个字段的多个实例,在这种情况下,我需要连接元组的第二部分(例如,致史密斯先生;格林夫人),但这些问题目前还很遥远。
[' Message 1 '];['Status', 'Read'];['Message ID', '012434'];['Message Truncation', 'OK'];['Priority', 'Low'];['Sent Time', '15/12/2010 05:56:36']
[' Message 2 '];['ColumnName', 'Read'];['ColumnName2', '012434'];['Message Truncation', 'OK'];['Priority', 'Low'];['Sent Time', '15/12/2010 05:56:36']
[' Message 3 '];['To', 'Mr Smith'];['To', 'Mrs green'];['Message Truncation', 'OK'];['Priority', 'Low'];['Sent Time', '15/12/2013 05:56:36']
...
我的计划是遍历文件中的每个块以建立列名,然后开始向这些列名添加数据,在适当的时候留空。我只是想知道如何以 pythonic 的方式来解决这个问题,因为我玩过一个字典列表并被卡住了。
我想我需要拆分行,然后将每个元组添加到字典中。有什么帮助吗?谢谢!
for line in file:
line_split = line.split(';')