您的位置:首页 > 编程语言 > Python开发

Python数据解析 - 使用csv模块处理CSV格式数据

2018-01-07 23:21 791 查看
# !/usr/bin/env python
# -*- coding:utf-8 -*-

"""
CSV(Comma-Separated Value),逗号分割值

id,姓名,年龄,性别,籍贯,是否已婚
001,章子怡,18,女,日本那霸机场,未婚
002,汪峰,30,男,中国北京,已婚
003,马云,16,男,美国洛杉矶,未婚
004,马化腾,6,男,阿拉德大陆,离异
"""

import csv

header=['id','姓名','年龄','性别','籍贯','婚姻状况']
rows_01=[
('001', '章子怡', '18', '女', '日本那霸机场', '未婚'),
('002', '汪峰', '30', '男', '中国北京', '已婚'),
('003', '马云', '16', '男', '美国洛杉矶', '未婚'),
['004', '马化腾', '6', '男', '阿拉德大陆', '离异'],
]

rows_02=[
{'id':'005','姓名':'雷布斯','年龄':18,'性别':'男','籍贯':'南天门一巷','婚姻状况':'已婚'},
{'id':'006','姓名':'习大大','年龄':55,'性别':'男','籍贯':'陕西富平市','婚姻状况':'已婚'},
]

# 将CSV数据写入文件
# 方式一: 使用writer
with open('../../data/CSV.csv',mode='w') as  f:
# 获取writer对象
writer=csv.writer(f)
# 写入一行
writer.writerow(header)
# 写入多行:列表或元组数据
writer.writerows(rows_01)

# 方式二: 使用DictWriter
with open('../../data/CSV.csv',mode='a') as  f:
# 写入多行:字典列表数据
dict_writer=csv.DictWriter(f,fieldnames=header)
dict_writer.writerows(rows_02)

# 从CSV文件中读取数据
# 方式一:使用reader
with open('../../data/CSV.csv',mode='r') as  f:
# 获取reader对象(是一个可迭代对象)
reader=csv.reader(f)
# header=next(reader)
# print(header)
for row in reader:
# 每一行数据是一个列表
print(row)
print(row[1],row[2])

# 方式二: 使用DictReader
with open('../../data/CSV.csv',mode='r') as  f:
# 获取DictReader对象
dict_reader=csv.DictReader(f)
for row in dict_reader:
# 每一行数据是一个字典
print(row)
print(row.get('姓名'),row.get('年龄'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: