下载 Python 安装程序:
访问 Python 官方网站,然后点击 "Downloads" 标签。选择最新版本的 Python(通常是顶部的版本),然后选择适合你操作系统的安装程序。如果你使用的是 Windows,可能会有一个 "Windows Installer" 或 "Executable Installer" 的选项。如果是 macOS 或 Linux,可以选择相应的安装包。
运行安装程序:
下载安装程序后,运行它。在 Windows 上,通常会有一个选项可以将 Python 添加到系统 PATH 中,确保你选中了这个选项。在 macOS 和 Linux 上,默认情况下通常已经添加到 PATH 中了。
完成安装:
完成上述步骤后,点击 "Install Now"(或相应的按钮)来完成安装。安装程序将会下载并安装 Python。
验证安装:
打开一个新的命令行窗口或终端,并输入以下命令来验证 Python 是否成功安装:
python --version第二步是安装脚本中使用的库。在你的命令行或终端中运行以下命令来安装所需的库:
pip install pandas如果你希望将 pip 更新到最新版本,可以运行以下命令:
python.exe -m pip install --upgrade pip创建一个Python脚本,比如 generate_invoices.py:
import os
import pandas as pd
from PIL import Image, ImageDraw, ImageFont
# 发票模板图片路径
template_path = 'C:\\Users\\用户\\Documents\\发票模板.png'
# 发票保存目录
invoice_dir = 'C:\\Users\\用户\\Documents\\invoices'
# 读取CSV数据
df = pd.read_csv('exported_orders.csv')
# 设置字体
font = ImageFont.truetype('C:\\Users\\用户\\Documents\\字体名.ttc', 15)
# 遍历每一行订单数据
for index, row in df.iterrows():
# 打开发票模板图
template = Image.open(template_path)
# 初始化 ImageDraw
draw = ImageDraw.Draw(template)
# CreatedAt
draw.text((692, 67), str(row['CreatedAt']), font=font, fill='black')
# UpdatedAt
draw.text((692, 91), str(row['UpdatedAt']), font=font, fill='black')
# ID
draw.text((73, 334), str(row['ID']), font=font, fill='black')
# OrderSN
draw.text((113, 365), str(row['OrderSN']), font=font, fill='black')
# 其他发票项
draw.text((73, 334), str(row['ID']), font=font, fill='black')
draw.text((113, 365), str(row['OrderSN']), font=font, fill='black')
draw.text((94, 425), str(row['Email']), font=font, fill='black')
draw.text((118, 455), str(row['TradeNo']), font=font, fill='black')
draw.text((116, 392), str(row['GoodsID']), font=font, fill='black')
draw.text((535, 365), str(row['CouponID']), font=font, fill='black')
draw.text((508, 397), str(row['BuyIP']), font=font, fill='black')
draw.text((508, 425), str(row['Status']), font=font, fill='black')
draw.text((37, 566), str(row['Title']), font=font, fill='black')
draw.text((514, 566), str(row['BuyAmount']), font=font, fill='black')
draw.text((656, 566), str(row['GoodsPrice']), font=font, fill='black')
draw.text((778, 566), str(row['TotalPrice']), font=font, fill='black')
draw.text((94, 652), str(row['Info']), font=font, fill='black')
draw.text((115, 731), str(row['TradeNo']), font=font, fill='black')
draw.text((766, 797), str(row['ActualPrice']), font=font, fill='black')
# 拼接发票文件名
invoice_name = 'invoice_'+str(row['ID'])+'.png'
# 拼接发票路径
invoice_path = os.path.join(invoice_dir, invoice_name)
# 保存发票
template.save(invoice_path)
print('发票生成完成!')
将目录路径文件名替换成你的
设计好发票的模板
坐标替换成你的
以及csv里的项替换成你的
在cmd里运行
python generate_invoices.py及可生成csv全部订单的发票