Python操作文件
Python操作文件
1. python操作word文件
先导入模块
from docx import Document(文档)
from docx.shared import Inches,Pt,RGBColor(文本,大小,颜色)
from docx.oxml.ns import qn(字体)
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT(排列)
创建word文档
word = Document()
读取word文档
word = Document(word文档路径)
设置标题
Title为大标题,设置字体为仿宋,字号22,黑色,居中
Title = word.styles['Title'] Title.font.name = '仿宋' Title.element.rPr.rFonts.set(qn('w:eastAsia'),'仿宋') Title.font.size = Pt(22) Title.font.color.rgb = RGBColor(0,0,0) Title.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
大标题为“唐诗三百首”,小标题为静夜思 ,设置小标题居中对齐
h0 = word.add_heading('唐诗三百首',level=0) h1 = word.add_heading('静夜思',level=1) h1.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
设置正文
方法同上
word = word.styles['Normal'] word.font.name = '仿宋' word._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋') word.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
添加正文内容
p1 = word.add_paragraph('床前明月光,') p2 = word.add_paragraph('举头望明月,低头思故乡。')
在某一个段落前添加新段落
p1.insert_paragraph_before('唐 李白')
在原段落后面继续写内容:add_run()追加
p1_add = p1.add_run('疑是地上霜。')
下划线、加粗、文字倾斜
p1_add.underline = True p1_add.burd = True p1_add.italic = True
添加图片
add_picture()
设置图片的宽(width)和高(height) – 单位:英寸(Inches)、厘米
若只提供了宽度或者高度,会自动根据图片的比例调整其大小
word.add_picture('图片.png',width=Inches(5.0))
添加分页符
word.add_page_break()
添加表格
add_table()
table1 = word.add_table(rows=1,cols=2) table1.style = 'LightShading-Accent1'
获取表格第一行的所有单元格
header = table1.rows[0].cells
text:查看单元格内容
header[0].text = '作者' header[1].text = '作品'content_data = [['李白','将进酒'],['李白','望庐山瀑布'],['王之涣','登鹳雀楼'] ]
保存、关闭、重命名(
必要
)word.save('演示Python如何操作word文档.docx')
自动化
离职证明自动化填写
from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.oxml.ns import qn from docx.shared import RGBColor, Ptword = Document() # 添加标题 h = word.add_heading('离职证明', level=1) # 修改标题样式 h.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER h.style.font.color.rgb = RGBColor(0, 0, 0)# 传入离职员工信息 name = input('请输入离职员工姓名:') id = input('请输入离职员工身份证号:') start = input('请输入离职员工入职时间(xxxx年x月x日)') end = input('请输入离职员工离职时间(xxxx年x月x日)') department = input('请输入离职员工所在部门:') job = input('请输入离职员工曾担任的职务:') cause = input('请输入离职原因:')# 添加正文 content = word.add_paragraph('兹证明 %s,身份证号码:%s,于 %s 至 %s 日''在我单位 %s 部门担任 %s 职务,在职期间无不良表现。因 %s 原因,''于 %s 起解除劳动合同。现已结清财务相关费用,办理完解除劳动关系''相关手续,双方不存在任何劳动争议。特此证明!'% (name, id, start, end, department, job, cause, end)) # 修改正文样式 content.style.font.name = '仿宋' content.style.element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋') content.style.font.size = Pt(12) print(content.style.font.size) # 首行缩进:first_line_indent content.paragraph_format.first_line_indent = content.style.font.size * 2company = word.add_paragraph('公司名称(盖章):成都风车车科技有限公司') datetime = word.add_paragraph('%s' % end) company.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT datetime.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHTword.save('%s离职证明.docx' % name)
2.python操作Excel文件
Excel文件的后缀名:xls(2003年及以前)、xlsx(2007年开始)
xls只能保存65536条数据,每条最多有256列
xlsx最多能保存1048576行数据,最多有16384列数据
且新的后缀名文件所占内存极大缩小
三方模块:Pandas、(xlrd、xlwt)、openpyxl、xlwings、xlutils、win32com、xlsxwriter
openpyxl:操作新版excel文件的(xlsx)
xlrd(读)、xlwt(写):操作旧版excel文件(xls)
读操作
先导入模块
import openpyxl
打开文件
load_workbook(路径) - 加载本地已存在的xlsx文件,打开一个文件对象
wb = load_workbook('xxx数据.xlsx')
查看所有的工作表
工作簿对象.sheetnames
print(wb.sheetnames)
指定某一张工作表
a.工作簿.active – 打开文件关闭时显示的那张工作表
b.工作表[工作表的名称] – 打开指定名字的工作表
print(wb.active) print(wb['工作表 1']) sheet = wb['工作表 1']
读取单元格
工作表.cell(行号,列号) - 行号、列号都是从1开始的数字
工作表[‘列号行号’] - 列号是大写的英文字母,行号是从1开始的数字result1 = sheet.cell(2,1) print(result1) result2 = sheet['A2'] print(result2)
获取单元格内容:value
print(result1.value) print(result2.value)
查看最大行、列数
rows = sheet.max_row cols = sheet.max_column print(rows,cols)
将数据全部取出
for row in range(1,rows + 1):for col in range(1,cols + 1):print(sheet.cell(row,col).value)
保存关闭
wb.save('xxx数据.xlsx')
写操作
先导入模块
from openpyxl import load_workbook,Workbook
import os
os模块 : Windows、linux、Macos、Android等操作系统对应一系列操作方法
(新建、移动、复制、删除、重命名等),os模块可以让我们使用代码实现这些方法
打开或新建文件
load_workbook(文件名) - 打开已存在文件
Workbook() - 创建新文件
os.path.exists()path:判断某个文件或者目录是否存在,返回True or False
path参数:可以是一个文件夹,可以是一个文件if os.path.exists('学生信息.xlsx'):wb = load_workbook('学生信息.xlsx') else:wb = Workbook()
查看工作表
sheetlist = wb.sheetnames
创建工作表:create_sheet
if '一年级一半' not in sheetlist:wb.create_sheet('一年级一半') print(wb.sheetnames)
删除工作表:工作簿.remove(工作表)
if '一年级一半1' in sheetlist:wb.remove(wb['一年级一半1'])
指定被创建的工作表
sheet = wb['一年级一半']
写入数据
sheet.cell(1,1).value = '张三'
保存关闭
wb.save('学生信息.xlsx')
openpyxl模块对于读和写没有明确的界限,打开一个文件以后既可以读,又可以写
python操作VSC文件
CSV文件中的数据是以表格形式展示,但是其中的原理是文本文件的原理
写操作
import csvwith open('英雄联盟装备.csv', 'w', encoding='utf-8', newline='') as f:myWriter = csv.DictWriter(f, fieldnames=['类型', '名称', '价格'])# writeheader():将fielnames对应的参数以列名的形式写入表格myWriter.writeheader()# witerow():单行写入,以字典的形式单行写入myWriter.writerow({'类型': '战士', '名称': '提亚马特', '价格': 1200})# writerows():多行写入,以列表的形式写入,列表中的元素为字典,一个字典代表一行myWriter.writerows([{'类型': '打野', '名称': '狂热之刃', '价格': 1050},{'类型': '法师', '名称': '法穿鞋', '价格': 1100},{'类型': '刺客', '名称': '锯齿短匕', '价格': 1100}])
print('写入完毕')
读操作
with open('英雄联盟装备.csv','r',encoding='utf-8') as f:# csv.DictWriter()结果为可迭代对象result = csv.DictReader(f)for i in result:print(i)
Python操作文件相关推荐
- python操作文件和目录_Python操作文件和目录
Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...
- Python操作文件,报FileNotFoundError: [Error 2] No such file or directory错误
python操作文件时,报No such file or directory错误. 多次检查目录.文件名.语法都是对的. 折腾一番后,打开文件所在文件夹,并显示所有文件后缀名,才发现此文件并没有txt ...
- 用Python操作文件
文章来源:https://book.apeland.cn/details/328/ 文章目录 说明 操作模式 创建文件 只读模式 追加模式 循环文件 其它功能 mode name fileno flu ...
- python购物车程序详解用字典_使用python操作文件实现购物车程序
使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...
- 你会处理圆周率吗?----- Python操作文件应用举例
呜呜呜,好久没更新了, 今天我们来聊聊IO流,之前我们用java中的IO流对文件进行了一些简单的操作,这次我们用Python作为基础语言来学习如何使用文件中的IO流. 有这样一道作业: 圆周率的前10 ...
- Python操作文件 及 dict 的 items 与 iteritems区别
1.Python是如何操作文件的? 打开文件 写入或读取数据 关闭文件 # 写文件,test.txt要操作文本名 f = open('test.txt', 'wt') # 以wt(write text ...
- Python操作文件之open函数详解
Python的open函数详解 open(file, mode='rt', encoding=None) -> BaseIO mode参数详解: 字符 含意 'r' 读取(默认) 'w' 写入, ...
- 9个必知的 Python 操作文件/文件夹方法
作者 | 欣一 来源 | Python爱好者集中营 近几年随着Python的热度不断上涨,人们渐渐使用这门编程语言来进行一些自动化操作,以节省重复劳动带来的效率低下,那么必定会涉及到对文件系统的操作, ...
- python操作文件open_python:open/文件操作
http://www.cnblogs.com/dkblog/archive/2011/02/24/1980651.html open/文件操作 f=open('/tmp/hello','w') #op ...
最新文章
- 数据挖掘技术在出行体验上的应用!
- 青茶什么时候拆_为什么铁观音这么香?到底有没有添加香精?看完你就知道了...
- arm汇编指令:ldr和adr的区别
- Nginx虚拟主机配置
- ArrayList的使用方法【转载】
- 新一代需求管理工具Trufun Bacon X正式发布!
- 关于php的函数,总结关于PHP文件函数有哪些
- 如何销毁一个实例化对象_基于脚本的游戏对象系统(1) 实例化、组件及生命周期...
- 手机展示海报PSD模板、适用众多设计!
- 今天遇到了一个很坑爹的问题....
- 微信公众平台服务框架
- UML--实现图(组件图、配置图)
- Win2008使用WEB方式更改工作组计算机用户帐户密码
- 腾讯游戏人脸识别系统更新!刷脸的同时语音提示付款成功_游侠网 Ali213.net
- Java之JavaBean
- Kafka+Spark Streaming+Redis实时系统实践
- 转:div中内容上下居中小结
- 利用python爬取图片_利用Python爬取网页图片
- C#编程学习27: C#操作Excel从入门到精通
- 听我的!千万别学前端开发!
热门文章
- 初次上课的感想!!!!
- QUIC协议设计(一)-QUIC的特点
- POI 创建Excel 2003 (一)
- 概论_第4章__期望的定义和性质
- 值得珍藏一生的经典电影台词
- C++11线程池探索
- MaskRcnn ImportError: _C.cpython-37m-x86_64-linux-gnu.so: undefined symbol:XXX
- t510 bios 盲刷 恢复
- 木马病毒隐身穿墙术解密之花指令和终止进程
- 电商运营:如何提升b2c商城的销量?