当前位置: 首页 > news >正文

Python文件自动化处理

os模块

  • Python标准库
  • 和操作系统有关的操作
  • 创建、移动、复制文件和文件夹
  • 文件路径和名称处理

路径的操作

  • 获取当前Python程序运行路径
  • 不同操作系统之间路径的表示方式 
  1. windows中采用反斜杠(\)作为文件夹之间的分隔符 
  2. Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符

把文件夹里面的文件夹里的文件夹里的文件都找出来:

os.walk(xxx) 

搜索匹配文件

字符串内置方法

  • startswith()
  • endswith() 

glob模块

  • *匹配所有
  • ?匹配任意单个字符
  • [seq]匹配seq中的任何字符
  • [!seq]匹配任何不在seq中的字符 

查询文件信息  .stat()

序号

属性

含义

1

st_size

文件体积大小(单位:bytes)

2

st_atime

文件的最近访问时间

3

st_mtime

文件的最近修改时间

4

st_ctime

Windows下表示创建时间

5

st_birthtime

只在Mac,Linux下可用,表示创建时间

 创建临时文件和文件夹

  • 创建临时文件存储数据TemporaryFile()
  • 创建临时文件夹 TemporaryDirectory()

 创建文件夹          os.mkdir(新文件夹名称)

创建多层文件夹    os.makedirs(新文件夹名称)

复制文件               shutil.copy(a,b)

 

复制文件夹            shutil.copytree(a,b)

移动文件                shutil.move(a,b)

删除文件                os.remove()

删除文件夹            shutil.rmtree()

重命名                   os.rename(a,b)

读取压缩包zip内文件

  • zipfile.ZipFile()
  • .namelist()

读取压缩包内文件信息

  • .getinfo() 

 处理Excel文件

openpyxl模块

  • 可以读取和写入Excel文件
  • 第三方模块,需要单独安装
  • 处理Excel数据
  • 处理Excel样式
  • 在表格内插入图表 

在线安装方式

  • Windows 用户:  pip install openpyxl
  • Mac用户:           pip3 install openpyxl 

测试

  • Windows用户打开命令行 输入 python
  • Mac 用户打开终端输入 python3
  • 然后输入  import openpyxl 

Excel表格

 打开和读取表格数据

  • 打开工作薄: load_workbook(文件名)
  • 获取工作表:workbook[sheet名称]
  • 获取表格尺寸:sheet.dimensions

Python打开及读取Excel表格内容

获取表格内某个格子的数据   sheet[‘A1’]   cell.value

获取一系列格式   sheet[‘A1:A5’]    sheet[‘A’]     sheet[‘A:C’]    sheet[5]   .rows

指定行和列的范围,按行获取,按列获取

.iter_rows(min_row=最低行数,max_row=最高行数,min_col=最低列数,max_col=最高列数) 

Python向Excel表格中写入内容 

向某个格子写入内容

  • sheet[‘A1’]=‘hello,Python’

用某个格子写入内容

  • cell.value=‘hello,Python’ 

使用Python列表数据插入一行

  • sheet.append(Python列表) 

插入一列

  • .insert_cols(idx=数字编号) 

插入多列

  • .insert_cols(idx=数字编号,amount=要插入的列数) 

插入一行

  • .insert_rows(idx=数字编号) 

插入多行

  • .insert_rows(idx=数字编号,amount=要插入的行数) 

Word自动化处理 

python-docx模块

  • 可以创建、修改Word(.docx)文件
  • 非Python标准模块,需要安装才能使用

 获取文档对象   Document()

获得段落列表    doc.paragraphs

获取段落文字内容  paragraphs.text

获取文字块列表     paragraphs.runs

添加一级标题    doc.add_heading(‘标题名称’,level=标题等级)

添加段落           paragraph.add_paragraph(‘段落文字内容’)

添加文字块       paragraph.add_run(‘文字内容’)

保存文件           doc.save(‘文件名.docx’)

添加图片

  • doc.add_picture(图片地址)
  • doc.add_picture(图片地址,width=宽度,height=高度)

添加表格

  • doc.add_table(rows=多少行,cols=多少列) 

设置文字字体样式 

  • run.font.样式=xxx

设置段落样式 

  • paragraph.alignment=对齐方式

 

行间距

  • paragraph.paragraph_format.line_spacing=2.0 

段前与段后间距

  • paragraph.paragraph_format.space_before=Pt(12)
  • paragraph.paragraph_format.space_after=Pt(12)  

相关文章:

  • vue 解决el-table 表体数据发生变化时,未重新渲染问题
  • 代码随想录算法训练53 | 动态规划part14
  • 带你学C语言-指针(4)
  • cetos7搭建部署k8s 版本1.28
  • Docker进阶篇-安装MySQL主从复制
  • nestjs之provider的provide取值的几种方式
  • 设计模式篇章(4)——十一种行为型模式
  • Unity之射线检测
  • 【河海大学论文LaTeX+VSCode全指南】
  • axios封装-reques.js
  • 给WordPress网站增加一个带时间的led广告牌
  • Kafka-消费者-KafkaConsumer分析-PartitionAssignor
  • 如何手写一个RPC?
  • rust跟我学三:文件时间属性获得方法
  • MySQL三大日志
  • docker容器内的网络抓包
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Meteor的表单提交:Form
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • node-glob通配符
  • PHP CLI应用的调试原理
  • vue.js框架原理浅析
  • 分布式熔断降级平台aegis
  • 技术:超级实用的电脑小技巧
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 巧用 TypeScript (一)
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 小程序01:wepy框架整合iview webapp UI
  • 移动端 h5开发相关内容总结(三)
  • 译自由幺半群
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 云大使推广中的常见热门问题
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • linux 淘宝开源监控工具tsar
  • #DBA杂记1
  • (09)Hive——CTE 公共表达式
  • (9)STL算法之逆转旋转
  • (zhuan) 一些RL的文献(及笔记)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (编译到47%失败)to be deleted
  • (附源码)springboot教学评价 毕业设计 641310
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (三)docker:Dockerfile构建容器运行jar包
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core中的去虚
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET 使用配置文件
  • .NET下ASPX编程的几个小问题
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @javax.ws.rs Webservice注解
  • @Transaction注解失效的几种场景(附有示例代码)
  • [2010-8-30]
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)