我要投稿 | RSS
您当前的位置:首页 > Python > Python入门

Excel模块库(xlrd、xlwt、xluntils、xlwings、pyExcelerator和Pandas)

作者:      来源:原创

python主要是使用第三方模块库xlrd、xlwt、xluntils、pyExcelerator和Pandas来处理excel文件数据。




impor xlrd  #未使用时为灰色
xlrd版本选择1.2版本,更加稳定(并不是越高的版本就越好用)
 
import xlrd
print(type(xlrd))
wb=xlrd.open_workbook("1234.xlsx")  #使用xlrd模块下面的open_workbook函数打开对象,并赋给wb
wbst=wb.sheet_names()  #wb工作簿下面的所有sheet名再赋值
print(wbst)
运行结果:
<class 'module'>
['Sheet1', 'Sheet2', 'Sheet3']

类型为module,有3个sheet表。

xlwings库操作Excel

在我们操作之前可以先了解下,如下内容:

新建:创建一个不存在的工作薄或者工作表

打开:打开一个已经存在的工作薄

引用:就是告诉程序,你要操作哪个对象。比如你打开了A、B、C三个工作薄,现在你想操作A工作薄,就要先引用A

激活:我们可以同时打开多个工作薄,但是一次只能操作一个工作簿,我们正在操作的这个工作薄称为**当前活动工作薄


​​​​​​下图便于理解xlwings的结构层次。
 

  • Excel程序用App来表示,多个Excel程序集合用Apps表示;

  • 单个工作簿用Book表示,工作簿集合用Books表示;

  • 单个工作表用Sheet表示,工作表集合用Sheets表示;

  • 区域用Range表示,既可以是一个单元格,也可以是一片单元格区域。


1、设置Excel操作模式
1)语法:App(visible=False, add_book=False)
2)语法释义:表示处理过程是否可视,也就是处理Excel的过程会不会显示出来,即是否出现Excel的界面,add_book表示是否打开新的Excel程序,也就是是不是打开一个新的excel窗口,如果为True,且visible为True,则立即打开一个空白的Excel
import xlwings
app=xlwings.App(visible=True,add_book=False)

设置参数visible:用来设置程序是否可见,True表示可见(默认),Flase不可见。
add_book用来设置是否自动创建工作簿,True表示自动创建(默认),False不创建。当设置成add_book=False时,可以创建App,但是还未生成PID,只有当这个App创建了工作簿后,才会生成自己的PID 。

2、打开文件
1)方法1:app.books.open(文件名),其中的app为设置Excel操作模式中App方法返回的结果
2)方法2:Book(文件名)

这两种方法打开文件返回的结果类型是相同的,类型为xlwings.main.Book,二者的差别经验证测试,发现如果是在对应文件已经打开的情况下,使用app.books.open再去打开可以重复打开,但Book不会重复打开。且如果是一个程序内多次调用app.books.open打开同一个文件也不会重复打开。
经过测试,2种方式运行后,对于已经打开的文件,执行代码会再次打开,只是以只读的方式打开罢了。

使用方法一时,必须说明操作模式。而使用方法二,则不需要说明操作模式。

xlwings对.xlsx文件中的工作表索引值是从“1”开始的,而对.xls文件中的工作表索引值是从“0”开始的!!!
 
import xlwings as xw
wb = xw.Book('test.xls')
sheet = wb.sheets['Sheet1']
#将sheet1工作表复制到另外一个工作簿dst.xls中最后个工作表之后
wb_dst=xw.Book("dst.xls")
ws_dst=wb_dst.sheets[-1]
sheet.api.Copy(After=ws_dst.api)
 最后说第二个方法:xlwings0.22以上版本的原生copy方法
# Create two books and add a value to the first sheet of the first book
first_book = xw.Book()
second_book = xw.Book()
first_book.sheets[0]['A1'].value = 'some value'
 
# Copy to same Book with the default location and name
first_book.sheets[0].copy()
 
# Copy to same Book with custom sheet name
first_book.sheets[0].copy(name='copied')
 
# Copy to second Book requires to use before or after
first_book.sheets[0].copy(after=second_book.sheets[0])





https://blog.csdn.net/qfxietian/article/details/123822358

 
来顶一下
返回首页
返回首页
推荐资讯
{SUM函数}:计算单元格区域中所有数值的和
{SUM函数}:计算单元
LEFT函数:从一个文本字符串的第一个字符开始返回指定个数的字符
LEFT函数:从一个文本
MID函数:从文本字符串中指定的起始位置起返回指定长度的字符
MID函数:从文本字符
column函数:返回一引用的列号
column函数:返回一引
扫一扫微信二维码,联系作者:
相关文章
    无相关信息
栏目更新
栏目热门