看新浪财经过程中用到的openpyxl详解

今天重点是详解下openpyxl,目的是解决这么久以来把数据存入Excel中的时候,发现每次都要出问题,也没有统一的用法,思路,今天在看新浪财经美股的时候,自己想研究下这个,过程中也踩了很多的坑,终于实现了,整理下思路

1.当下使用最多的就是把数据封装成列表的形式进行存储,那么我们主要研究的就是这个
from openpyxl import Workbook

思路:
1.创建无名表格(工作簿)
wb=Workbook()
2.创建默认工作表
ws = wb.active
其实,在创建工作簿的时候,就默认已经创建了一个工作表了,我们用active就相当于
ws1=wb.create_sheet(n)
ws2=wb.create_sheet(n)
里面的参数代表表格生成后插入的位置
默认是插入工作簿的最后一个位置
那么我现在对工作表有需求了:
1.定制个性化名字
ws1.title=“new title”
2.我想显示工作表的标签栏在特定表的时候变颜色
ws1.sheet_properties.tabcolor=“1072BA”
3.在数据插入过程中,我想切换到另外一个表里面,来回插入
首先,我们要获取到全部工作表的名字
wb.get_sheet_names
或者
for sheet in wb:
sheet.title
返回的是一个列表
其次,选中这个表
ws3=wb[“new title”]
或者
ws4=wb.get_sheet_by_name(“new title”)

3.插入数据
ws.append([1,2,3])
4.保存数据,退出
wb.save(“xx.xlsx”)
这个无论任何的时候,他和wb永远是同级的,wb和wb.save都只能在代码中出现一次

这就是一个完整的流程

当然,我这边自己还会总结一个流程出来,就是批量插入数据的一个框架

from openpyxl import Workbook

wb=Workbook()
ws=wb.active

i=1
while True:
	data=[[1,2,3],[0,9,8,7],[3,6,9,2]]
	for key in data:
		ws.append(key)
	if i==3:
		break
	i+=1
wb.save("new title")	

你可能感兴趣的:(看新浪财经过程中用到的openpyxl详解)