B07.python读写word表格 - 有意思的小东西
文章目录
- 一、读取word表格
- 1.1 数据
- 1.2 代码
- 1.3 效果
- 二、写入word表格
- 2.1 代码
- 2.2 效果
- 三、推荐B系列
- 完整代码
【作者环境:win10,python3,word2019】
一、读取word表格
参考:https://blog.csdn.net/zhengyikuangge/article/details/80451424
先安装docx库:
pip install python-docx
1.1 数据
新建一个word文档,命名test.docx,在里面建一个表格,如下:

1.2 代码
from docx import Document #导入库def readDoc(path="test.docx"):#path 文件路径print("%s 表格内容为:"%path)document = Document(path) #读入文件tables = document.tables #获取文件中的表格集table = tables[0]#获取文件中的第一个表格for i in range(0,len(table.rows)):#从表格第一行开始循环读取表格数据result = table.cell(i,0).text + "\t" +table.cell(i,1).text+ "\t" +table.cell(i,2).text + "\t" + table.cell(i,3).text+ "\t" + table.cell(i,4).text#cell(i,0)表示第(i+1)行第1列数据,以此类推print(result)
1.3 效果

test.docx 表格内容为:
词语1 词语2 人工判定值 词林改进版 知网相似度
轿车 汽车 0.98 1.0 1.0
宝石 宝物 0.96 0.8413 0.8413
旅游 游历 0.96 1.0 1.0
之后,你可以直接复制,或者用python对数据做进一步处理。
二、写入word表格
参考资料:
https://blog.csdn.net/qq_37534835/article/details/89182809
https://www.cnblogs.com/zhangfeiyue/p/9101937.html
2.1 代码
def saveToDoc(head, contents, path="out.docx"):document = Document()# 新建表头table = document.add_table(rows=1, cols=len(head), style="Table Grid")hdr_cells = table.rows[0].cellsfor i in range(len(head)):hdr_cells[i].text = head[i]# 写入内容for i in range(len(contents)):row_cells = table.add_row().cellsfor j in range(len(contents[0])):row_cells[j].text = contents[i][j]document.save(path)print("已经写入%s文件中!"%path)
2.2 效果

[可能汉字格式稍微优点问题,但复制粘贴时选择’只保留文本’即可。]
三、推荐B系列
推荐其他B系列小玩意儿,比如:B01.有意思的小东西 - pdf转word【python实用工具】
另外,你想在使用python对excel进行读写,可看 pandas读写csv文件,及注意事项,非常简单方便。
完整代码
# coding:utf-8from docx import Document #导入库
from docx.shared import Inchesdef readDoc(path="test.docx"):#path 文件路径print("%s 表格内容为:"%path)document = Document(path) #读入文件tables = document.tables #获取文件中的表格集table = tables[0]#获取文件中的第一个表格for i in range(0,len(table.rows)):#从表格第一行开始循环读取表格数据result = table.cell(i,0).text + "\t" +table.cell(i,1).text+ "\t" +table.cell(i,2).text + "\t" + table.cell(i,3).text+ "\t" + table.cell(i,4).text#cell(i,0)表示第(i+1)行第1列数据,以此类推print(result)def saveToDoc(head, contents, path="out.docx"):document = Document()# 新建表头table = document.add_table(rows=1, cols=len(head), style="Table Grid")hdr_cells = table.rows[0].cellsfor i in range(len(head)):hdr_cells[i].text = head[i]# 写入内容for i in range(len(contents)):row_cells = table.add_row().cellsfor j in range(len(contents[0])):row_cells[j].text = contents[i][j]document.save(path)print("已经写入%s文件中!"%path)if __name__ == "__main__":# readDoc(path="test.docx")head = ['词语1', '词语2', '人工判定值', '词林改进版', '知网相似度']contents = [['轿车', '汽车', '0.98', '1.0', '1.0'],['宝石', '宝物', '0.96', '0.8413', '0.8413'],['旅游', '游历', '0.96', '1.0', '1.0']]saveToDoc(head, contents, path="out.docx")
(点个赞呗~)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
