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(排列)
  1. 创建word文档

    word = Document()

    读取word文档

    word = Document(word文档路径)

  2. 设置标题

    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
    
  3. 设置正文

    方法同上

    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
    
  4. 添加图片

    add_picture()

    设置图片的宽(width)和高(height) – 单位:英寸(Inches)、厘米

    若只提供了宽度或者高度,会自动根据图片的比例调整其大小

    word.add_picture('图片.png',width=Inches(5.0))
    
  5. 添加分页符

    word.add_page_break()
    
  6. 添加表格

    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 = [['李白','将进酒'],['李白','望庐山瀑布'],['王之涣','登鹳雀楼']
    ]
    
  7. 保存、关闭、重命名(必要

    word.save('演示Python如何操作word文档.docx')
    
  8. 自动化

    离职证明自动化填写

    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
  1. 打开文件

    load_workbook(路径) - 加载本地已存在的xlsx文件,打开一个文件对象

    wb = load_workbook('xxx数据.xlsx')
    
  2. 查看所有的工作表

    工作簿对象.sheetnames

    print(wb.sheetnames)
    
  3. 指定某一张工作表

    a.工作簿.active – 打开文件关闭时显示的那张工作表

    b.工作表[工作表的名称] – 打开指定名字的工作表

    print(wb.active)
    print(wb['工作表 1'])
    sheet = wb['工作表 1']
    
  4. 读取单元格

    工作表.cell(行号,列号) - 行号、列号都是从1开始的数字
    工作表[‘列号行号’] - 列号是大写的英文字母,行号是从1开始的数字

    result1 = sheet.cell(2,1)
    print(result1)
    result2 = sheet['A2']
    print(result2)
    
  5. 获取单元格内容:value

    print(result1.value)
    print(result2.value)
    
  6. 查看最大行、列数

    rows = sheet.max_row
    cols = sheet.max_column
    print(rows,cols)
    
  7. 将数据全部取出

    for row in range(1,rows + 1):for col in range(1,cols + 1):print(sheet.cell(row,col).value)
    
  8. 保存关闭

    wb.save('xxx数据.xlsx')
    

写操作

先导入模块

from openpyxl import load_workbook,Workbook
import os

os模块 : Windows、linux、Macos、Android等操作系统对应一系列操作方法
(新建、移动、复制、删除、重命名等),os模块可以让我们使用代码实现这些方法

  1. 打开或新建文件

    load_workbook(文件名) - 打开已存在文件
    Workbook() - 创建新文件
    os.path.exists()path:判断某个文件或者目录是否存在,返回True or False
    path参数:可以是一个文件夹,可以是一个文件

    if os.path.exists('学生信息.xlsx'):wb = load_workbook('学生信息.xlsx')
    else:wb = Workbook()
    
  2. 查看工作表

    sheetlist = wb.sheetnames
    
  3. 创建工作表:create_sheet

    if '一年级一半' not in sheetlist:wb.create_sheet('一年级一半')
    print(wb.sheetnames)
    

    删除工作表:工作簿.remove(工作表)

    if '一年级一半1' in sheetlist:wb.remove(wb['一年级一半1'])
    
  4. 指定被创建的工作表

    sheet = wb['一年级一半']
    
  5. 写入数据

    sheet.cell(1,1).value = '张三'
    
  6. 保存关闭

    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操作文件相关推荐

  1. python操作文件和目录_Python操作文件和目录

    Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...

  2. Python操作文件,报FileNotFoundError: [Error 2] No such file or directory错误

    python操作文件时,报No such file or directory错误. 多次检查目录.文件名.语法都是对的. 折腾一番后,打开文件所在文件夹,并显示所有文件后缀名,才发现此文件并没有txt ...

  3. 用Python操作文件

    文章来源:https://book.apeland.cn/details/328/ 文章目录 说明 操作模式 创建文件 只读模式 追加模式 循环文件 其它功能 mode name fileno flu ...

  4. python购物车程序详解用字典_使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  5. 你会处理圆周率吗?----- Python操作文件应用举例

    呜呜呜,好久没更新了, 今天我们来聊聊IO流,之前我们用java中的IO流对文件进行了一些简单的操作,这次我们用Python作为基础语言来学习如何使用文件中的IO流. 有这样一道作业: 圆周率的前10 ...

  6. Python操作文件 及 dict 的 items 与 iteritems区别

    1.Python是如何操作文件的? 打开文件 写入或读取数据 关闭文件 # 写文件,test.txt要操作文本名 f = open('test.txt', 'wt') # 以wt(write text ...

  7. Python操作文件之open函数详解

    Python的open函数详解 open(file, mode='rt', encoding=None) -> BaseIO mode参数详解: 字符 含意 'r' 读取(默认) 'w' 写入, ...

  8. 9个必知的 Python 操作文件/文件夹方法

    作者 | 欣一 来源 | Python爱好者集中营 近几年随着Python的热度不断上涨,人们渐渐使用这门编程语言来进行一些自动化操作,以节省重复劳动带来的效率低下,那么必定会涉及到对文件系统的操作, ...

  9. python操作文件open_python:open/文件操作

    http://www.cnblogs.com/dkblog/archive/2011/02/24/1980651.html open/文件操作 f=open('/tmp/hello','w') #op ...

最新文章

  1. 数据挖掘技术在出行体验上的应用!
  2. 青茶什么时候拆_为什么铁观音这么香?到底有没有添加香精?看完你就知道了...
  3. arm汇编指令:ldr和adr的区别
  4. Nginx虚拟主机配置
  5. ArrayList的使用方法【转载】
  6. 新一代需求管理工具Trufun Bacon X正式发布!
  7. 关于php的函数,总结关于PHP文件函数有哪些
  8. 如何销毁一个实例化对象_基于脚本的游戏对象系统(1) 实例化、组件及生命周期...
  9. 手机展示海报PSD模板、适用众多设计!
  10. 今天遇到了一个很坑爹的问题....
  11. 微信公众平台服务框架
  12. UML--实现图(组件图、配置图)
  13. Win2008使用WEB方式更改工作组计算机用户帐户密码
  14. 腾讯游戏人脸识别系统更新!刷脸的同时语音提示付款成功_游侠网 Ali213.net
  15. Java之JavaBean
  16. Kafka+Spark Streaming+Redis实时系统实践
  17. 转:div中内容上下居中小结
  18. 利用python爬取图片_利用Python爬取网页图片
  19. C#编程学习27: C#操作Excel从入门到精通
  20. 听我的!千万别学前端开发!

热门文章

  1. 初次上课的感想!!!!
  2. QUIC协议设计(一)-QUIC的特点
  3. POI 创建Excel 2003 (一)
  4. 概论_第4章__期望的定义和性质
  5. 值得珍藏一生的经典电影台词
  6. C++11线程池探索
  7. MaskRcnn ImportError: _C.cpython-37m-x86_64-linux-gnu.so: undefined symbol:XXX
  8. t510 bios 盲刷 恢复
  9. 木马病毒隐身穿墙术解密之花指令和终止进程
  10. 电商运营:如何提升b2c商城的销量?