1.csv形式保存
a. 以列表形式写入数据
# 打开data.csv文件
with open("data.csv","a",newline="") as csvfile:
# 初始化写入对象,delimiter表示列间以什么分隔
writer = csv.writer(csvfile,delimiter=',')
writer.writerow(['id','name','age'])
writer.writerow(['10001', 'Mike', '20'])
writer.writerow(['10002', 'Bob', '21'])
writer.writerow(['10003', 'Jordan', '21'])
# 多行写入
writer.writerows([['10001', 'Mike', '20'],['10002', 'Bob', '21'],['10003', 'Bob', '21']])
b.以字典形式写入
# 以字典的形式写入数据
with open('data.csv','w',newline="") as csvfile:
filednames = ['id','name','age']
writer = csv.DictWriter(csvfile,filednames)
writer.writeheader()
writer.writerow({'id':'10001', 'name':'Mike','age':'20'})
writer.writerow({'id': '10001', 'name': 'Mike', 'age': '20'})
writer.writerow({'id': '10001', 'name': 'Mike', 'age': '20'})
c.读取
# 读取
with open('data.csv','r',encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
2.提取页面表格
import pandas as pd
# 提取页面表格
url = 'http://data.eastmoney.com/bbsj/300059.html'
tables = pd.read_html(url)
print(len(tables))
for i,table in enumerate(tables):
print(i)
table.to_csv('table{}.csv'.format(i), mode='w', encoding='utf_8_sig', header=0, index=0)