python使⽤xlwings读取数据和写⼊数据
xlwings 库使⽤说明
--xlwings是Python操作Excel的强⼤扩展库1 xlwings简介
关于xlwings,xlwings开源免费,能够⾮常⽅便的读写Excel⽂件中的数据,并且能够进⾏单元格格式的修改。
xlwings还可以和matplotlib、numpy以及pandas⽆缝连接,⽀持读写numpy、pandas数据类型,将matplotlib可视化图表导⼊到excel中。
最重要的是xlwings可以调⽤Excel⽂件中VBA写好的程序,也可以让VBA调⽤⽤Python写的程序。
1.1 官⽅⽹站:
1.2 官⽅⽂档:
1.3 中⽂⽂档:
1.4 版本更新说明:
2 xlwings实操—基本操作
2.1 建⽴excel表连接
import xlwings as xw
wb = xw.Book("e:\example.xlsx")
wb = xw.Book()  # 这将创建⼀个新的⼯作簿
wb = xw.Book('FileName.xlsx')  # 连接到当前⼯作⽬录中的现有⽂件
wb = xw.Book(r'C:\path\to\file.xlsx')  # 在Windows上:使⽤原始字符串来转义反斜杠
2.2 实例化⼯作表对象
sht = wb.sheets["sheet1"]
2.3 返回⼯作表绝对路径
wb.fullname
2.4 返回⼯作簿的名字
sht.name
2.5 在单元格中写⼊数据
sht.range('A1').value = "xlwings"
2.6 读取单元格内容
sht.range('A1').value
2.7 清除单元格内容和格式
sht.range('A1').clear()
2.8 获取单元格的列标
sht.range('A1').column
2.9 获取单元格的⾏标
sht.range('A1').row
2.10 获取单元格的⾏⾼
sht.range('A1').row_height
2.11 获取单元格的列宽
sht.range('A1').column_width
2.12 列宽⾃适应
sht.range('A1').columns.autofit()
2.13 ⾏⾼⾃适应
sht.range('A1').rows.autofit()
2.14 给单元格上背景⾊,传⼊RGB值
sht.range('A1').color = (34,139,34)
2.15 获取单元格颜⾊,RGB值
sht.range('A1').color
2.16 清除单元格颜⾊
sht.range('A1').color = None
2.17 输⼊公式,相应单元格会出现计算结果
python怎么读入excel
sht.range('A1').formula='=SUM(B6:B7)'
2.18 获取单元格公式
sht.range('A1').formula_array
2.19 在单元格中写⼊批量数据,只需要指定其实单元格位置即可sht.range('A2').value = [['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]
2.20 读取表中批量数据,使⽤expand()⽅法
sht.range('A2').expand().value
2.21 与正在打开的活动⼯作表互动
其实你也可以不指定⼯作表的地址,直接与电脑⾥的活动表格进⾏交互
# 写⼊
xw.Range("E1").value = "xlwings"# 读取
xw.Range("E1").value
2.22 表格的清除
#清除表格的内容和格式
sheet.clear()
#清除表格的内容
sheet.clear_contents()
#删除表格
sheet.delete()
3 xlwings与numpy、pandas、matplotlib互动
3.1 ⽀持写⼊numpy array数据类型
import numpy as np
np_data = np.array((1,2,3))
sht.range('F1').value = np_data
3.2 ⽀持将pandas DataFrame数据类型写⼊excel
import pandas as pd
df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
sht.range('A5').value = df
3.3 将数据读取,输出类型为DataFrame
sht.range('A5').options(pd.DataFrame,expand='table').value
3.4 将matplotlib图表写⼊到excel表格⾥
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([1, 2, 3, 4, 5])
sht.pictures.add(fig, name='MyPlot', update=True)
4 Python API
www.kancloud/gnefnuy/xlwings-docs/1127474
附1:类和对象的属性和⽅法查看⽅式
1. dir(类名或者对象名)
2. help(类名或者对象名)
第三⽅库的源码查看⽅法
1.库名.__file__
(Anaconda⾥已经嵌⼊⽆需⼿动安装,直接使⽤Spyder编程即可)
附2:安装
:安装(
安装xlwings的最简单⽅法是通过pip:
pip install xlwings
或者 conda:
conda install xlwings
请注意,官⽅的conda包版本可能会稍许落后。但是,您可以使⽤conda-forge频道(参见:)获取最新的(但可能仍然是pip发布后⼀天左右):
conda install -c conda-forge xlwings
注意
当您使⽤Mac Excel 2016并使⽤conda安装xlwings(或使⽤Anaconda附带的版本)时,您需要运⾏$ xlwings runpython install⼀次以启⽤来⾃VBA的RunPython调⽤。或者,您只需使⽤pip安装xlwings即可。
依赖
Windows: pywin32, comtypes
在Windows上,如果使⽤conda或pip安装xlwings,则会⾃动处理依赖项。
Mac: psutil, appscript
在Mac上,如果使⽤conda或pip安装xlwings,则会⾃动处理依赖项。但是,使⽤pip,Xcode命令⾏⼯具需要可⽤。需要Mac OS X
10.4(Tiger)或更⾼版本。 Mac的推荐Python发⾏版是。
可选的依赖项
NumPy
Pandas
Matplotlib
Pillow/PIL
这些包不是必需的,但强烈推荐,因为它们与xlwings⾮常相配。
加载项
有关如何安装xlwings加载项的信息,请参阅。
Python版本⽀持
xlwings在Python 2.7和3.3+上进⾏了测试

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。