1. xlwings用法
xlwings支持所有格式, 支持读写,还支持numpy, pandas, matplotlib等等 !
import xlwings as xw
def save_to_excel(items):
app = xw.App(visible=True, add_book=False)
wb = app.books.add()
sht = wb.sheets['Sheet1']
val = sht.range('a1:d5')
val.row_height = 25
val.column_width = 30
val.color = (255, 0, 0)
sht.range('a1').value = list(items[0].keys())
列表里的数据就会整齐的插入第一行,从A1开始。
for i in range(0, list(items[0].keys())):
value_list = list(items[i].values())
sht.range(f'A{i+2}').value = value_list
sht.range('b3').options(transpose=True).value = value_list
df = pd.DataFrame([[1,2], [3, 4]])
sht.range('a1').options(expand='table').value = df
wb.save('demo.xlsx')
save_to_excel()
2. xlwt用法
xlwt不支持xlsx格式, 仅仅支持xls的写 !
import xlwt
def save_to_excel(item):
wb = xlwt.Workbook(encoding='utf-8')
sheet = wb.add_sheet('liepin')
head = ['company', 'position', 'salary', 'info']
for i in range(len(head)):
sheet.write(0, i, head[i])
j = 1
for item in data:
sheet.write(j, 0, item['position'])
sheet.write(j, 1, item['company'])
sheet.write(j, 2, item['salary'])
sheet.write(j, 3, item['info'])
j += 1
wb.save('liepin.xls')
save_to_excel()
(0,0)代表第一行,第一列!
import xlwings as xwdef save_to_excel(items): # items格式是 [{}, {}, {}] app = xw.App(visible=True, add_book=False) # 实例化一个app,visible=True表示操作过程可见 wb = app.books.add() # 添加一个新的excel # wb = app.books.open("demo.xlsx") 这是打开已存在的demo文件 sht = wb.sheets['
#初始化写入表格程序
app=xw.App(visible=False,add_book=False) #visible=True 显示Excel工作簿;False 不显示工作簿
wb=app.books.open(r'C:\Users\a5470\Desktop\001.xlsx') #写入的表格路径
三、创建xlwings写入函数
通过xlwings操作Excel的过程就是逐层创建对象。使用xlwings读写单元格的基本步骤为:
1、使用xlwings.App() 创建App对象,代表Excel进程;
2、使用app对象books属性的open或add方法,打开或新建Excel工作簿,并得到代表该工作簿的Book对象;
3、使用Book对象Sheets属性,得到代表某工作表的Sheet对象;
4、使用Sheet对象的range方法,得到代表指定单元格区域的Range对象;
5、使用Range对象的value属性............
python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 ;xlwt写入excel表格数据;
一、python读取excel表格数据
1、读取excel表格数据常用操作
import xlrd
# 打开excel表格
data_excel=xlrd.open_workbook('data/dataset.xlsx')
# 获取所有sheet名称
names=data_excel.sheet_names()
# 获取book中的sheet工作表的三种方法,返回一个xlrd.sheet.Sheet()对象
https://docs.xlwings.org/zh_CN/latest/
Excel VBA 参考
https://docs.microsoft.com/zh-cn/office/vba/api/overview/excel
import xlwings as xw
import pandas as pd
import random
wb = xw..