python自动化办公:excel篇,从此做表不加班。

python自动化办公:excel篇,从此做表不加班。表格讲解表格格式表格分为 工作簿 工作表 单元格如图 整个文件就是一个工作簿 下面的 zhengjiang power 和 sheet1 为工作表 xlrd xlwt 读写表格

表格讲解

python自动化办公:excel篇,从此做表不加班。

如图:整个文件就是一个工作簿,下面的 zhengjiang_power 和sheet1为工作表。

xlrd +xlwt读写表格

python自动化办公:excel篇,从此做表不加班。

pandas常用函数,个人常用的

xlrd 读表格

python自动化办公:excel篇,从此做表不加班。

import xlrd
#打开工作簿
xlsx=xlrd.open_workbook("zhenjiang_power.xlsx")
#使用索引打开工作表
table=xlsx.sheet_by_index(0)
#使用名称打开工作表
#table=xlsx.sheet_by_name('zhenjiang_power')
#查看单元格值
print(table.cell_value(0,0))#第一个单元格值
print(table.cell(0,0).value)
print(table.row(0)[0].value)

大文件读取有些慢。

python自动化办公:excel篇,从此做表不加班。

遍历全部数据

#遍历全部数据
row =table.nrows#总行数
for i in range(row):
    rowdate =table.row_values(i)#i行的list
    for a,b in enumerate(rowdate):
        print(i,a,b)#第i行,a列,数据b

python自动化办公:excel篇,从此做表不加班。

xlwt 写表格

python自动化办公:excel篇,从此做表不加班。

import  xlwt
#新建一个工作薄
new_workbook=xlwt.Workbook()
#新建一个工作表
worksheet=new_workbook.add_sheet('new_sheet')
#写入内容
worksheet.write(0,0,'你好美')
#保存
new_workbook.save(r"C:\Users\Shineion\Desktop\test.xls")

用神奇的 xlutils 套用 Excel 格式

首先下载xlutils

# -*- coding: utf-8 -*-
from xlutils.copy import copy #把Excel中的模板复制过来

import xlrd
import xlwt
tem_excel=xlrd.open_workbook(r"C:\Users\Shineion\Desktop\样例.xls",formatting_info=True)
#formatting_info=True保留格式打开文件,formatting_info读取xlsx报错,错误信息NotImplementedError: formatting_info=True not yet implemented
tem_sheet=tem_excel.sheet_by_index(0)

new_excel=copy(tem_excel)#复制表格
new_sheet=new_excel.get_sheet(0)
new_sheet.write(2,1,12)
new_sheet.write(3,1,13)
new_sheet.write(4,1,14)
new_excel.save(r'C:\Users\Shineion\Desktop\样例测试.xls')

绝对路径前面要加一个r

python自动化办公:excel篇,从此做表不加班。

# -*- coding: utf-8 -*-
from xlutils.copy import copy #把Excel中的模板复制过来

import xlrd
import xlwt

tem_excel=xlrd.open_workbook(r"C:\Users\Shineion\Desktop\样例.xls",formatting_info=True)
#formatting_info=True保留格式打开文件,formatting_info读取xlsx报错,错误信息NotImplementedError: formatting_info=True not yet implemented
tem_sheet=tem_excel.sheet_by_index(0)
new_excel=copy(tem_excel)#复制表格
new_sheet=new_excel.get_sheet(0)
#新建一个样式
style=xlwt.XFStyle()#初始化样式
#字体设置
font=xlwt.Font()#初始化字体
font.name="微软雅黑"#字体
font.bold=True# 加粗
font.height=360 #计算公式=几号字体*20 如18号字体的height=360
style.font=font #把font添加进样式
#边框设置
borders=xlwt.Borders()#初始化边框
borders.top=xlwt.Borders.THIN#上边框 THIN细线框,还有其他线框
borders.bottom=xlwt.Borders.THIN
borders.left=xlwt.Borders.THIN
borders.right=xlwt.Borders.THIN
style.borders=borders#把边框添加进样式
#对齐
aligment=xlwt.Alignment()#对齐
aligment.horz=xlwt.Alignment.HORZ_CENTER#horz水平对齐方式 ,HORZ_CENTER 中心对齐通过改HORZ_CENTER中的center部分设置其他对齐方式
aligment.vert=xlwt.Alignment.VERT_CENTER#vert垂直对齐,VERT_CENTER垂直中心对齐,通过修改center部分设置其他对齐方式
style.alignment=aligment

new_sheet.write(2,1,12,style)#style带格式写入
new_sheet.write(3,1,13,style)
new_sheet.write(4,1,14,style)
new_excel.save(r'C:\Users\Shineion\Desktop\样例测试.xls')

python自动化办公:excel篇,从此做表不加班。

报表生成

个人资源链接介绍很全的。

用 xlsxwriter ,openpyxl 更灵活操作 Excel

新的写入方式xlsxwriter

# -*- coding: utf-8 -*-
import xlwt

workbook=xlwt.Workbook()
sheet0=workbook.add_sheet('sheet0')
for i in range(300):
    sheet0.write(0,i,i)
workbook.save('测试.xls')

显示错误信息:

ValueError: column index (256) not an int in range(256)

xlwt不支持超过256列

为了避免这个问题,使用xlsxwriter。

# -*- coding: utf-8 -*-
import xlsxwriter as xw
workbook=xw.Workbook(r'C:\Users\Shineion\Desktop\样例1.xls')#指定存的位置,新建工作薄
sheet0=workbook.add_worksheet('sheet0')#新建一个工作表
for i in range(300):
    sheet0.write(0,i,i)
workbook.close()

运行成功

python自动化办公:excel篇,从此做表不加班。

和xlwt还是有些区别的。

新的追加写入方式openpyxl

# -*- coding: utf-8 -*-
import openpyxl
workbook=openpyxl.load_workbook(r'C:\Users\Shineion\Desktop\测试.xlsx')#打开已有工作薄,openpyxl不支持旧版本的xls,会报错
sheet0=workbook['Sheet1']
#写入数据
sheet0['B4']='总裁余' #B列第4行
sheet0['B5']=6
workbook.save(r'C:\Users\Shineion\Desktop\测试1.xlsx')

openpyxl,xlsxwriter 和前面xlwt.xlrd区别不支持带格式写入。

应用案例:把某个文件夹下的所有文件名写入表格,用于查找文件

# -*- coding: utf-8 -*-
import os
import xlwt
file_dir="d:/"#查找d盘
workbook=xlwt.Workbook()
sheet0=workbook.add_sheet('sheet0')
n=0
for i in os.listdir(file_dir):
    sheet0.write(n,0,i)
    n+=1
workbook.save(r'C:\Users\Shineion\Desktop\测试1.xlsx')

python自动化办公:excel篇,从此做表不加班。

电气专业的计算机萌新,写博文不容易。如果你觉得本文对你有用,请点个赞再走。谢谢。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227324.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午9:33
下一篇 2026年3月16日 下午9:34


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号