the quieter you become,the more you are able to hear!
文章目录
一、事情起因
在某个风和日丽的下午,我不经意间 alt + Tab 切换到了微信,“不情愿”地刷起了群聊。突然间,女神的这三句话让我精神大振!这可比三杯咖啡来得精神,一想到能在女神面前表现自己,我立马投入了“战斗”!
好家伙!这还咋摸鱼?!思来想去,脚本小子走起!
二、使用步骤
1.编写Python代码
import pandas as pd
# 读取包含数据的Excel文件
data = pd.read_excel('input.xlsx')
# 遍历每一行数据
for index, row in data.iterrows():
# 创建一个新的Excel文件
new_excel = pd.DataFrame(row).transpose()
# 将行数据保存为一个新的Excel文件
output_filename = f'output_{index + 1}.xlsx'
new_excel.to_excel(output_filename, index=False)
print("生成完成!")
Tip:这段代码是从Excel文件“input.xlsx”读取数据,然后将每一行的数据保存为一个单独的Excel文件,每个文件名为“output_索引.xlsx”。
2.失望
正当我代码写完,向女神索取文件的时候却被当场拒绝,表示是公司机密。
这可就麻烦了,不如打包成exe给她使用?说干就干!(当然代码要修改一下,毕竟出错了就是要打脸了!)
3.修改Python代码
import numpy as np
import pandas as pd
import os
from tkinter import Tk, filedialog
from openpyxl import load_workbook
# 创建Tkinter窗口
root = Tk()
root.withdraw() # 隐藏主窗口
try:
# 弹窗选择Excel文件
print("请选择要处理的Excel文件")
input_file_path = filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])
if not input_file_path:
print("未选择文件,程序结束。")
else:
# 在命令行显示生成中提示
print("正在生成中,请稍后")
# 读取Excel文件
data = pd.read_excel(input_file_path)
# 获取文件夹路径
output_folder = os.path.dirname(input_file_path)
output_folder_path = os.path.join(output_folder, "output")
os.makedirs(output_folder_path, exist_ok=True) # 创建output文件夹
for index, row in data.iterrows():
# 获取标签名(姓名或名字)
label = row.get("姓名", row.get("名字"))
# 创建新的Excel文件
new_excel = pd.DataFrame(row).transpose()
# 设置输出文件路径
output_filename = os.path.join(output_folder_path, f'{label}.xlsx')
if os.path.exists(output_filename):
# 如果输出文件已存在,将数据追加到现有文件中
book = load_workbook(output_filename)
writer = pd.ExcelWriter(output_filename, engine='openpyxl', mode='a')
writer.book = book
new_excel.to_excel(writer, index=False, header=False, startrow=book.active.max_row)
writer.save()
writer.close()
else:
# 如果输出文件不存在,创建新文件并写入数据
new_excel.to_excel(output_filename, index=False)
# 在命令行显示生成完成提示
print("生成完成!")
except Exception as e:
print(f"发生错误:{e}")
Tip:这段代码会弹窗让我们选择Excel文件,根据标签名(“姓名”或者“名字”)以及行数生成对应的文件,新建一个文件夹“output”存放新生成的Excel文件(例如:小赵.xlsx)。
先浅试一下,可以!冲冲冲!
三.使用Pyinstaller
Python有一个Pyinstaller库,用于py文件打包成exe程序执行,目前也是第一次用过,当做学习了。
CMD命令行输入以下命令进行安装:
C:\User\sys>pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
看到Successfully则表示安装成功。
1.test.py打包成test.exe
定位到脚本的路径,地址栏输入CMD输入以下命令:
D:\Summer\test>pyinstaller --onefile test.py
看到successfully则表示打包成功,exe程序存放的路径在当前目录的dist文件夹内。
2.使用test.exe
方法一:双击test.exe,选择源文件“input.xlsx”文件即可。
方法二:在test.exe程序的地址栏输入CMD,命令行输入test.exe即可。
3.终章
在源文件“input.xlsx”的同级目录下出现“output”文件夹,并且文件夹内包含新的Excel文件。
尝试打开其中一个看看,perfect!
总结
总的来说一切顺利,貌似女神执行了程序,兄弟们帮我看看是不是成功了?