处理复杂的CSV文件

编程入门 行业动态 更新时间:2024-10-21 23:07:30
本文介绍了处理复杂的CSV文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个CSV文件,例如:

I have a CSV file like:

">

我想使用Python转换成字典,字典应该像这样:

I want to convert to a dictionary using Python, and the dictionary should look like:

[{'Type': ['Date'], 'Value': ['dd/mm/yyyy']}, {'Type': ['Gender'], 'Value': ['Male', 'Female']}, {'Type': ['Title'], 'Value': ['Mr.', 'Mrs.', 'Ms.']}]

目前我已经尝试了以下方法:

Currently I've tried the below:

import csv import collections with open('test2.csv', 'rU') as fin: reader = csv.DictReader(fin) data = [] for row in reader: data.append(row) print data

输出为:

[{'Type': 'Date', 'Value': 'dd/mm/yyyy'}, {'Type': 'Gender', 'Value': 'Male'}, {'Type': '', 'Value': 'Female'}, {'Type': 'Title', 'Value': 'Mr.'}, {'Type': '', 'Value': 'Mrs.'}, {'Type': '', 'Value': 'Ms.'}]

推荐答案

尝试一下:

import csv data=[] with open(fn, 'rU') as fin: reader=csv.reader(fin, dialect='excel') header=next(reader) for row in reader: di={k:[v] for k,v in zip(header, row)} if di[header[0]]==['']: data[-1][header[1]].extend(di[header[1]]) else: data.append(di) >>> data [{'Type': ['Date'], 'Value': ['dd/mm/yyyy']}, {'Type': ['Gender'], 'Value': ['Male', 'Female']}, {'Type': ['Title'], 'Value': ['Mr.', 'Mrs', 'Ms']}]

更多推荐

处理复杂的CSV文件

本文发布于:2023-05-28 06:55:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/315103.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   CSV

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!