python excel处理教程(教你如何用python轻轻松松操作Excel)
python excel处理教程(教你如何用python轻轻松松操作Excel)# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn# 新建空白文档doc1 = Document# 新增文档标题doc1.add_heading('如何使用 Python 创建和操作 Word' 0)# 创建段落描述doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多,我们平时都使用 wps 或者 office 来对 Word 进行处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')# 创建一级标题doc1.add_heading('安装 python-docx 库' 1)# 创建段落描述doc1.add_paragraph('现在开始我们来介绍如何
可以看出,使用代码我们可以对字体,颜色、对齐、合并等平时 Excel 的操作进行设置,也可以格式化日期和数字类型的数据。当然了这里只是介绍了部分功能,不过这已经足够我们日常使用了,想了解更多功能操作可以参考官网。
python-excel官网:www.python-excel.org/
Python 操作 Word安装 python-docx
处理 Word 需要用到 python-docx
库,目前版本为0.8.10
,执行如下安装命令:
$ pip install python-docx
################# 运行结果 ################
C:\Users\Y>pip install python-docx
Looking in indexes: https://pypi.doubanio.com/simple
Collecting python-docx
Downloading https://pypi.doubanio.com/packages/e4/83/c66a1934ed5ed8ab1dbb9931f1779079f8bca0f6bbc5793c06c4b5e7d671/python-docx-0.8.10.tar.gz (5.5MB)
|| 5.5MB 3.2MB/s
Requirement already satisfied: lxml>=2.3.2 in c:\users\y\appdata\local\programs\python\python37\lib\site-packages (from python-docx) (4.5.0)
Building wheels for collected packages: python-docx
Building wheel for python-docx (setup.py) ... done
Created wheel for python-docx: filename=python_docx-0.8.10-cp37-none-any.whl size=184496 sha256=7ac76d3eec848a255b4f197d07e7b78ab33598c814d536d9b3c90b5a3e2a57fb
Stored in directory: C:\Users\Y\AppData\Local\pip\Cache\wheels\05\7d\71\bb534b75918095724d0342119154c3d0fc035cedfe2f6c9a6c
Successfully built python-docx
Installing collected packages: python-docx
Successfully installed python-docx-0.8.10
复制代码
OK,如果提示以上信息则安装成功。
写入 Word
平时我们在操作 Word 写文档的时候,一般分为几部分:标题
、章节
、段落
、图片
、表格
、引用
以及项目符号编号
等。下面我们就按这几部分如何用 Python 操作来一一介绍。
标题
文档标题创建比较简单,通过 Document
创建出一个空白文档,只要调用add_heading
方法就能创建标题。
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建空白文档
doc1 = Document
# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word' 0)
# 保存文件
doc1.save('word1.docx')
这样就完成了创建文档和文章标题的操作,下面运行程序,会生成名为 word1.docx 的文档,打开文章显示如下图所示:
章节与段落
有了文章标题,下面我们来看章节和段落是怎么操作的,在上面代码后面增加章节和段落操作的代码如下:
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建空白文档
doc1 = Document
# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word' 0)
# 创建段落描述
doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多,我们平时都使用 wps 或者 office 来对 Word 进行处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')
# 创建一级标题
doc1.add_heading('安装 python-docx 库' 1)
# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库,具体需要以下两步操作:')
# 创建二级标题
doc1.add_heading('第一步:安装 Python' 2)
# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')
# 创建三级标题
doc1.add_heading('第二步:安装 python-docx 库' 3)
# 创建段落描述
doc1.add_paragraph('window下win R输入CMD打开命令行,输入pip install python-docx即可下载。')
# 保存文件
doc1.save('word2.docx')
上面我们说了 add_heading 方法用来增加文章标题,不过通过上面代码我们能知道,这个方法的第二个参数为数字,其实这个就是用来标示几级标题的,在我们平时就用来标示章节。add_paragraph 方法则是用来在文章中增加段落的, 运行程序看下效果:
字体和引用
前面我们通过 add_paragraph 方法增加了三个段落,现在我们就看下如何对段落中字体如何操作,以及引用段落的操作。继续修改以上代码,增加对文章字体字号、加粗、倾斜等操作,具体代码如下:
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
from docx.shared import RGBColor
# 新建空白文档
doc1 = Document
# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word' 0)
# 创建段落描述
doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多,我们平时都使用 wps 或者 office 来对 Word 进行处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')
# 创建一级标题
doc1.add_heading('安装 python-docx 库' 1)
# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库,具体需要以下两步操作:')
# 创建二级标题
doc1.add_heading('第一步:安装 Python' 2)
# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')
# 创建三级标题
doc1.add_heading('第二步:安装 python-docx 库' 3)
# 创建段落描述
doc1.add_paragraph('window下win R输入CMD打开命令行,输入pip install python-docx即可下载。')
# 创建段落,添加文档内容
paragraph = doc1.add_paragraph('这是第二步的安装描述!')
# 段落中增加文字,并设置字体字号
run = paragraph.add_run('(注意:这里设置了字号为20)')
run.font.size = Pt(20)
# 设置英文字体
run = doc1.add_paragraph('这里设置英文字体:').add_run('This Font is Times New Roman ')
run.font.name = 'Times New Roman'
# 设置中文字体
run = doc1.add_paragraph('这里设置中文字体:').add_run('当前字体为黑体')
run.font.name='黑体'
r = run._element
r.rPr.rFonts.set(qn('w:eastAsia') '黑体')
# 设置斜体
run = doc1.add_paragraph('这段设置:').add_run('文字的是斜体 ')
run.italic = True
# 设置粗体
run = doc1.add_paragraph('这段再设置:').add_run('这里设置粗体').bold = True
# 设置字体带下划线
run = doc1.add_paragraph('这段为下划线:').add_run('这里设置带下划线').underline = True
# 设置字体颜色
run = doc1.add_paragraph('这段字体为红色:').add_run('这里设置字体为红色')
run.font.color.rgb = RGBColor(0xFF 0x00 0x00)
# 增加引用
doc1.add_paragraph('这里是我们引用的一段话:用Python改变人生,改变世界,FIGHTING。' style='Intense Quote')
# 保存文件
doc1.save('word2.docx')
上面代码主要是针对段落字体的各种设置,每段代码都标有注释应该比较容易理解, 运行程序看下效果:
项目列表
我们平时在使用 Word 时,为了能展示更清晰,会用到项目符号和编号,将内容通过列表的方式展示出来,下面我们新建一个文件 word1.py 并编写如下代码:
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建文档
doc2 = Document
doc2.add_paragraph('哪个不是动物:')
# 增加无序列表
doc2.add_paragraph(
'苹果' style='List Bullet'
)
doc2.add_paragraph(
'喜洋洋' style='List Bullet'
)
doc2.add_paragraph(
'懒洋洋' style='List Bullet'
)
doc2.add_paragraph(
'沸洋洋' style='List Bullet'
)
doc2.add_paragraph(
'灰太狼' style='List Bullet'
)
doc2.add_paragraph('2020年度计划:')
# 增加有序列表
doc2.add_paragraph(
'CSDN达到博客专家' style='List Number'
)
doc2.add_paragraph(
'每周健身三天' style='List Number'
)
doc2.add_paragraph(
'每天学习一个新知识点' style='List Number'
)
doc2.add_paragraph(
'学习50本书' style='List Number'
)
doc2.add_paragraph(
'减少加班时间' style='List Number'
)
# 保存文件
doc2.save('word1.docx')
图片和表格
我们平时编辑文章时,插入图片和表格也是经常使用到的,那用 Python 该如何操作插入图片和表格?首先我们随便找了个图片,我这用了 Python的logo 标志图,文件名为 python-logo.jpg,利用add_picture
添加图片;利用add_table
添加表格,然后在 word1.py 文件中增加如下代码:
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建文档
doc2 = Document
doc2.add_paragraph('哪个不是动物:')
# 增加无序列表
doc2.add_paragraph(
'苹果' style='List Bullet'
)
doc2.add_paragraph(
'喜洋洋' style='List Bullet'
)
doc2.add_paragraph(
'懒洋洋' style='List Bullet'
)
doc2.add_paragraph(
'沸洋洋' style='List Bullet'
)
doc2.add_paragraph(
'灰太狼' style='List Bullet'
)
doc2.add_paragraph('2020年度计划:')
# 增加有序列表
doc2.add_paragraph(
'CSDN达到博客专家' style='List Number'
)
doc2.add_paragraph(
'每周健身三天' style='List Number'
)
doc2.add_paragraph(
'每天学习一个新知识点' style='List Number'
)
doc2.add_paragraph(
'学习50本书' style='List Number'
)
doc2.add_paragraph(
'减少加班时间' style='List Number'
)
doc2.add_heading('图片' 2)
# 增加图像
doc2.add_picture('C:/Users/Y/Pictures/python-logo.jpg' width=Inches(5.5))
doc2.add_heading('表格' 2)
# 增加表格,这是表格头
table = doc2.add_table(rows=1 cols=4)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '编号'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '职业'
# 这是表格数据
records = (
(1 '张三' '电工')
(2 '张五' '老板')
(3 '马六' 'IT')
(4 '李四' '工程师')
)
# 遍历数据并展示
for id name work in records:
row_cells = table.add_row.cells
row_cells[0].text = str(id)
row_cells[1].text = name
row_cells[2].text = work
# 手动增加分页
doc2.add_page_break
# 保存文件
doc2.save('word1.docx')