CSV文件存储
本节讲解python读取和写入csv文件的过程
# -*- coding: utf-8 -*-
# @Time : 2021/9/21 21:15
# @Author :liuw
# @File : csv_demo.py
# @Software: PyCharm
import csv
with open('data.csv','w') as csvfile:
writer =csv.writer(csvfile)
writer.writerow(['id','name','age'])
writer.writerow(['1001','Mike','20'])
writer.writerow(['1002','jerry','18'])
print('如果想修改列与列之间的分隔符,可以传入delimiter参数')
with open('data.csv','w') as csvfile:
writer =csv.writer(csvfile,delimiter=' ')
writer.writerow(['id','name','age'])
writer.writerow(['1001','Mike','20'])
writer.writerow(['1002','jerry','18'])
with open('data.csv','w') as csvfile:
writer =csv.writer(csvfile)
writer.writerow(['id','name','age'])
#同时写入多行 参数为二维列表
writer.writerows([['1001','Mike','20'],['1002','jerry','20']])
print('但是爬虫中 爬虫的数据都是结构化数据,一般会用字典来表示 在csv中也提供了字典的写入方式')
with open('data.csv', 'w') as csvfile:
fieldnames = ['id', 'name', 'age'] #fieldnames定义了3个字段
writer = csv.DictWriter(csvfile, fieldnames=fieldnames) #初始化字典写入对象
writer.writeheader() #写入头信息
writer.writerow({'id': '10001', 'name': 'Mike', 'age': 20})
writer.writerow({'id': '10002', 'name': 'Bob', 'age': 22})
writer.writerow({'id': '10003', 'name': 'Jordan', 'age': 21})
print('追加写入 a')
with open('data.csv','a',encoding='utf-8') as csvfile:
fieldnames = ['id', 'name', 'age'] #fieldnames定义了3个字段
writer = csv.DictWriter(csvfile, fieldnames=fieldnames) #初始化字典写入对象
writer.writerow({'id': '10004', 'name': 'Durant', 'age': 21})#如此 数据被追加到文件中
writer.writerow({'id': '10005', 'name': '刘伟', 'age': 31})
print('同样可以使用csv库来读取csv文件')
with open('data.csv','r',encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row) #遍历输出每一行的内容 每一行都是列表形式
#
# import pandas as pd: #如果做数据分析 这中方法用的比较多
# df = pd.read_csv('data.csv')
# print(df)