6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(二)

简介: 6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(二)

3. xlsxwriter模块知识点讲解

xlsxwriter模块一般是和xlrd模块搭配使用的,

xlsxwriter:负责写入数据,

xlrd:负责读取数据。

接下来,我们分别对这两个库的常见用法,进行介绍。


1)如何创建一个“工作簿”?

import xlsxwriter
# 这一步相当于创建了一个新的"工作簿";
# "demo.xlsx"文件不存在,表示新建"工作簿";
# "demo.xlsx"文件存在,表示新建"工作簿"覆盖原有的"工作簿";
workbook = xlsxwriter.Workbook("demo.xlsx")
# close是将"工作簿"保存关闭,这一步必须有,否则创建的文件无法显示出来。
workbook.close()


2)如何添加一个“Sheet工作表”

我们知道,一个Excel文件就是一个Excel工作簿,而每一个工作簿中,又有很多的“Sheet工作表”。接下来,我们如何用代码实现这个操作呢?


import xlsxwriter
# 这一步相当于创建了一个新的"工作簿";
# "demo.xlsx"文件不存在,表示新建"工作簿";
# "demo.xlsx"文件存在,表示新建"工作簿"覆盖原有的"工作簿";
workbook = xlsxwriter.Workbook("demo.xlsx")
# close是将"工作簿"保存关闭,这一步必须有,否则创建的文件无法显示出来。
workbook.close()


效果如下:

image.png


3)如何向表中插入数据呢?

import xlsxwriter
# 创建一个名为【demo.xlsx】工作簿;
workbook = xlsxwriter.Workbook("demo.xlsx")
# 创建一个名为【2018年销售量】工作表;
worksheet = workbook.add_worksheet("2018年销售量")
# 使用write_row方法,为【2018年销售量】工作表,添加一个表头;
headings = ['产品','销量',"单价"] 
worksheet.write_row('A1',headings)
# 使用write方法,在【2018年销售量】工作表中插入一条数据;
# write语法格式:worksheet.write(行,列,数据) 
data = ["苹果",500,8.9]
for i in range(len(headings)):
    worksheet.write(1,i,data[i]) 
workbook.close()


效果如下:

image.png

4. xlrd模块知识点讲解

这里有一个工作簿“test.xlsx”,该文件中有两个“Sheet工作表”,分别命名为“2018年销售量”、“2019年销售量”,如图所示。

image.png


1)如何打开一个“工作簿”?—>open_workbook()

# 这里所说的"打开"并不是实际意义上的打开,只是将该表加载到内存中打开。
# 我们并看不到"打开的这个效果"
import xlrd 
file = r"G:\Jupyter\test.xlsx"
xlrd.open_workbook(file)


结果如下:


<xlrd.book.Book at 0x29bb8e4eda0>


2)如何获取一个工作簿下,所有的“Sheet表”名?—>sheet_names()

import xlrd
file = r"G:\Jupyter\test.xlsx"
fh = xlrd.open_workbook(file)
fh.sheet_names()


结果如下:


['2018年销售量', '2019年销售量']


3)如何获取所有“Sheet表”的对象列表?—>sheets()

import xlrd
file = r"G:\Jupyter\test.xlsx"
fh = xlrd.open_workbook(file)
fh.sheets()


结果如下:


[<xlrd.sheet.Sheet at 0x29bb8f07a90>, <xlrd.sheet.Sheet at 0x29bb8ef1390>]


我们可以利用索引,获取每一个sheet表的对象,然后可以针对每一个对象,进行操作。


fh.sheets()[0]
<xlrd.sheet.Sheet at 0x29bb8f07a90>
fh.sheets()[1]
<xlrd.sheet.Sheet at 0x29bb8ef1390>


相关文章
|
2天前
|
Python
【Python操作基础】——帮助文档
【Python操作基础】——帮助文档
|
2天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
2天前
|
Python
【Python操作基础】——集合
【Python操作基础】——集合
|
2天前
|
Python
【Python操作基础】——字符串
【Python操作基础】——字符串
|
1天前
|
存储 Python
|
2天前
|
Python
【Python操作基础】——包
【Python操作基础】——包
|
2天前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
2天前
|
索引 Python
【Python操作基础】——序列
【Python操作基础】——序列
|
2天前
|
Python
【Python操作基础】——元组
【Python操作基础】——元组
|
2天前
|
Python
【Python操作基础】——列表操作
【Python操作基础】——列表操作