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")

(点个赞呗~)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部