一. 痛点
您是否有这些烦恼?
“每天要手动修改100个Excel单元格?
一不小心就出错,加班到深夜?
Python 3行代码,让你准时下班!
妹子约我吃饭,可是还有一堆工作…”
操作方式 | 时间消耗 | 错误率 |
---|---|---|
手动 | 30分钟 | 高出错 |
Python自动化 | 3分钟 | 0 |
二. 代码示例
1、创建单个Excel文件
import openpyxl
wb = openpyxl.Workbook()
wb.save(r"C:\Users\ZHAOY\PycharmProjects\1\Excel\purse.xlsx")
执行代码效果:
2、批量创建Excel文件
(1)先创建固定格式的文件名
import openpyxl
for file in range(1,13):
print("%d月.xlsx"%file)
执行代码效果:
(2)批量创建按照固定格式的Excel文件
import openpyxl
for file in range(1,13):
wb = openpyxl.Workbook()
wb.save("%d月.xlsx"%file)
# print("%d月.xlsx"%file)
执行代码效果:
扩展:实际工作中,我们的格式可能是:运维部-x月.xlsx等等;也是一样的,我们只要给代码中加上需要的字即可!
3、向Excel文件的表中插入数据
(1)插入少量数据
import openpyxl
wb = openpyxl.load_workbook('1月.xlsx')
ws = wb.worksheets[0]
ws['A1'] = '姓名'
ws['B1'] = '工资'
wb.save('1月.xlsx')
执行代码效果:
(2)末尾追加数据
import openpyxl
# 1. 打开工作簿
myBook = openpyxl.load_workbook('2月.xlsx')
mySheet = myBook.active
# 2. 按列表顺序添加数据(对应A列、B列)
mySheet.append({'A':'关羽','B':'1000'})
# 3. 保存文件(此处指定文件名)
myBook.save("2月-1.xlsx")
执行代码效果:
(3)批量写入数据
import openpyxl
# 1. 打开工作簿
myBook = openpyxl.load_workbook('2月-1.xlsx')
mySheet = myBook.active
# 2. 按列表顺序添加数据(对应A列、B列)
myList = [
['刘备',2000],
['赵云',2000]
]
# 3. 循环列表的数据添加到末尾行
for myRow in myList:
mySheet.append(myRow)
# 4. 保存文件(此处指定文件名)
myBook.save("2月-1.xlsx")
执行代码效果:
4、CSV格式转Excel格式
源csv格式文件,如图:
import pandas as pd
# 流程:
# 读取CSV -> 创建DataFrame -> 写入Excel -> 保存文件
def csv_to_excel(csv_path, excel_path):
# 读取CSV(避坑点1:明确指定编码格式)
df = pd.read_csv(csv_path, encoding='gbk')
# 写入Excel(避坑点2:禁用默认索引列)
df.to_excel(excel_path, index=False)
print(f"成功转换:{csv_path} -> {excel_path}")
# 使用示例
csv_to_excel(r"C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\database2.csv",r"C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\conversion_csv.xlsx")
执行代码效果:
朋友们!你平时用Excel最头疼的操作是什么?
在评论区告诉我,下期教你用Python搞定!