首页 > 系统相关 >Linux系统利用Python操作word和excel进行办公自动化

Linux系统利用Python操作word和excel进行办公自动化

时间:2023-04-06 14:12:51浏览次数:52  
标签:docx word Python doc excel -- sheet libreoffice row

依赖

读取Excel文件

import openpyxl

#加载excel文件
workbook = openpyxl.load_workbook('未命名 1.xlsx', read_only=False)
#获取指定sheet
sheet = workbook.get_sheet_by_name('Sheet1')
#表格最后一行的下标
max_row = sheet.max_row
#遍历表格每一行,因为有标题行所以从第二行开始
for row_index in range(2,max_row + 1):
  cell = sheet.cell(row_index,1)
  #读取A列的数据
  print(cell.text)
  #写入数据到B列
  sheet['B{}'.format(row_index)] = 'test'
#保存文档
workbook.save('output.xlsx')

读取Word文件

*注意:Python-docx只支持操作.docx文件,如果需要操作.doc文件则需要将其转换格式后才能使用该类库操作

import docx

#打开docx文档
doc = docx.Document(you_file_path)
#获取文档里的段落文本
print(doc.paragraphs[0].text)
table = doc.tables[0]
#获取表格中的内容,cell(行,列)
print(table.cell(1,2).text)

word文件类型转换

  1. 安装libreoffice
sudo apt install libreoffice
  1. 安装JDK
sudo apt install openjdk-8-jdk
  1. 安装libreoffice-java-common组件
sudo apt install libreoffice-java-common
  1. 测试运行
soffice --headless --invisible --convert-to docx /test.doc
  1. 利用bash批处理文件
#!/bin/bash

# 检查libreoffice是否已安装
if ! command -v libreoffice &> /dev/null
then
    echo "没有安装LibreOffice,请安装后重试."
    exit
fi

# 检查输入参数
if [ -z "$1" ] || [ -z "$2" ]
then
    echo "请指定源目录与结果输出目录参数"
    exit
fi

# 查找源目录与其子目录中所有的.doc文件
find "$1" -type f -name '*.doc' | while read file
do
    echo "转换文档"
    # 转换文档格式为docx
    libreoffice --headless --convert-to docx "$file" --outdir "$2"
done

find "$1" -type f -name '*.docx' | while read file

echo "转换完成."

把上面代码拷贝保存到convert-doc-to-docx.sh文件中,然后使用bash执行该文件,并指定源目录路径与输出路径为参数

bash convert-doc-to-docx.sh /source/directory /output/directory

标签:docx,word,Python,doc,excel,--,sheet,libreoffice,row
From: https://www.cnblogs.com/masahiro/p/17292401.html

相关文章

  • 啥是佩奇?Python3大战小猪佩奇
    啥是佩奇最近火了啥是佩奇?乍一听很好笑,但笑完之后又很心酸。什么是佩奇,这个问题并不只有影片中的李玉宝奇怪,可能我们身边的父母和老人都有过这种类似的问题。小时候,爸爸妈妈是我们的港湾。长大后,我们是爸爸妈妈的大树。“看过影片之后,我决定这个周末就回家。”长期在大连工作的沈阳......
  • python入门到实战系列一
         学习 pyhton 语言首先需要掌握它的基本规则,还有它支持什么数据类型,下面画一张图来了解它支持的数据类型有哪些?  上面这几个数据类型在工作中经常使用,下面不分先后介绍每一种数据类型基本使用。一、字符串  第一,字符串基础对于它的定义就不在这里说明,下面介绍......
  • Linux系统安装python3.8与卸载教程
    一、安装python解释器1.获取系统版本信息首先,查看Linux系统版本信息:[root@oldboy~]#cat/proc/versionLinuxversion4.18.0-240.1.1.el8_3.x86_64([email protected])(gccversion8.3.120191121(RedHat8.3.1-5)(GCC))#1SMPThuNov1917:20......
  • python中的全局变量、实例变量、局部变量、静态变量等
    a=1#全局变量,在模块内、在所有函数外面、在class外面classTest():c=3#静态变量,也可以说类属性,在class内的,但不在class的方法内的deflogin(self):b=2#局部变量,在函数内、在class的方法内(未加self修饰的)self.d=4#实例变量,也可以说实例属性,在class的......
  • 【过滤器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
    简介过滤器模式(FilterPattern)或标准模式(CriteriaPattern),是一种结构型模式。这种模式允许使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来,它结合多个标准来获得单一标准。例子将创建一个Person对象、Criteria接口和实现了该接口的实体类,来过滤Perso......
  • python 列表推导表达式
    如果要对列的每个成员进行指定转换,就可以用列表推导m=[1,2,3,4]n=[]foriinm:#列表迭代n.append(i*60)print(n)#结果:[60,120,180,240]上面的迭代操作就等同于下面这个:m=[1,2,3,4]n=[i*60foriinm]#列表推导,由原来的3行变1行,append操作会自动完成......
  • [2]Python面向对象-【4】属性
    Python是一种面向对象的编程语言,因此属性是面向对象编程中的重要概念之一。在Python中,属性是与对象相关联的数据或函数,它们可用于描述对象的状态或行为。Python中的属性可以是实例属性或类属性。实例属性实例属性是与类的每个实例相关联的属性。这些属性通常在实例化时创建并设置。......
  • [oeasy]python0128_unicode_字符集_character_set_八卦_星座
    unicode回忆上次内容中国的简体和繁体汉字字符数量都超级大彼此还认对方为乱码 如果有一种编码所有的字符都能编进去就好了中日韩(CJK)欧洲拼音梵文阿拉伯文卢恩字符等等等都包括进去 ​ 添加图片注释,不超过1......
  • Python三目运算
    Python的赋值语句,有一种带条件判断的语法,将赋值和条件判断融为一行代码,使需要条件判断的赋值代码写起来更加简练高效,与Java语言中的三元表达式?:语法一样。>>>a=123ifTrueelse321>>>a123>>>a=123ifFalseelse321>>>a321以上代码,给变量a赋值,如果if......
  • Python四种常用的高阶函数,你会用了吗
    ​每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:Matongxue_10码同学抖音号:小码哥聊软件测试 1、什么是高阶函数把函数作为参数传入,这样的函数称为高阶函数例如: def func1(x,y,f):   return......