开发
成果示例
把 9 家门店的月度销售文件合并成一份 Excel 报表
如何运行
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO 文件夹:sales/2026-10,找到 9 个文件
2026-11-02 09:14:03 INFO shop-01.csv:1,284 行
2026-11-02 09:14:04 INFO shop-02.xlsx:967 行
2026-11-02 09:14:04 WARN shop-07.csv:跳过 3 行缺少价格的记录(第 88、412、913 行)
2026-11-02 09:14:05 INFO 完成:10,412 行 -> report-2026-10.xlsx(工作表“销售”和“汇总”)
改设置,不改代码
每家门店的列名都写在 settings.ini 中,所以新增一家门店或某列改了名,只需在那里改一行:
[columns]
date = 日期, 销售日期, 日
product = 商品, 品名, 名称
quantity = 数量, 件数, 个数
price = 价格, 单价
部分代码
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""读取一家门店的文件,并把列名改为报表使用的列名。"""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}:找不到“{name}”对应的列(已查找 {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
**文件:**一个 ZIP 压缩包,内含 merge_sales.py(310 行)、settings.ini、requirements.txt 和 README,说明如何安装 Python、运行脚本以及日志中每条消息的含义。客户在自己的电脑上运行。
**客户:**一家拥有 9 家门店的小型文具连锁店;每家门店每月以 CSV 或 Excel 文件发送当月销售数据,各自的列名略有不同。 **任务:**一个脚本,读取文件夹中的所有文件,把各列统一成同一格式,并生成一份 Excel 报表,包含全部销售记录和一张按门店汇总的工作表。
客户及所有信息均为虚构。
服务介绍
当供应商每周发来一份新价目表时,手动重新计算自己的价格意味着在 Excel 里耗上几个小时,还容易写错公式。这个 Python 脚本读取供应商的文件,并应用您的规则:按百分比或固定金额加价;从标准版起,还能按分类、品牌或价格区间设置不同的加价、最低毛利、您输入的汇率,以及取整规则,例如尾数取 .99 或取整到 10。它会保存一份包含您所需列的新价目表,可直接用于您的店铺或发给客户,并列出无法定价的行。规则由您决定;脚本只负责计算,不提供定价建议。脚本由您自己在电脑上运行,所以请用几个手算的价格核对最初的几份价目表。
服务内容
- 您将获得一个 ZIP 压缩包,内含 Python 脚本、附分步说明的 README,从标准版起还包含写有加价和取整规则的设置文件;订单页面上也能查看代码。
- 您的加价规则百分比或固定金额,可按分类、品牌或价格区间
- 取整方式由您选尾数取 .99、取整到 10,或按您的设定
- 您的列只要您需要的列,按您的顺序排列
- 列出问题行缺少价格或分类未知的行会被列出
- 代码易读附有注释,以后修改规则很方便
服务流程
- 1规定您发来供应商文件的示例和您的加价规则
- 2代码我们编写脚本和运行说明
- 3试用您在最新的价目表上运行,并手动核对几个价格
- 4修改您在套餐范围内提出修改,如有报错信息请一并发来
需要您提供的信息
供应商价目表原样的 20 到 30 行(Excel 或 CSV),用通俗的话写出您的加价规则(例如 50 以下一律加 35%,以上加 25%,毛利至少 5),您想要的取整方式,如需换算货币,请提供汇率及其来源,以及您的价目表应包含哪些列。如果您有多家供应商(高级版),请每家提供一份示例。您的系统:Windows、macOS 还是 Linux。
我们会询问您:
- 供应商发来的是什么?
- 您的加价规则是什么?
- 价格如何取整?
- 您的价目表应该包含什么?
套餐对比
付款保障
您在下单时付款,但款项仅在您验收后才会结算。
- 固定价格付款后套餐价格不会变动。
- 款项先冻结付款时,这笔金额只是被冻结。您验收后,款项才会结算给平台。
- 交付前检查每份成果在送达您之前都会经过质量检查,验收前您可以在订单页面查看。
- 免费修改在需求说明范围内,您可以在套餐允许的次数内提出修改。
- 3 天后自动验收如果交付后 3 天内您既未验收也未提出修改,工作将自动验收。如果您在交付后于订单聊天中留言,订单将暂停自动验收;我们回复后,可能会重新开始计算 3 天,并会在聊天中告知您。
- 返工或全额退款如果成果与您的需求说明不符且修改后仍未解决,或工作耗时超过交付期限的两倍,请在订单聊天中留言:我们将为您返工或全额退款。
问题与解答
能从网上获取汇率吗?
高级版可以从您选择的公开来源读取汇率,例如您所在国家央行公布的汇率。否则请在每次运行前把汇率填进设置。
能把价格上传到我的店铺吗?
本服务负责生成价目表文件。很多店铺平台都能从这样的文件导入价格;告诉我们您用的平台,我们会让各列符合它的导入要求。
如果供应商改了文件怎么办?
从标准版起,列名写在设置文件中,所以某一列改名只需改一行。如果版式完全换了,脚本可能需要调整。
你们会告诉我该加多少价吗?
不会。我们不提供定价或财务建议:脚本只应用您设定的规则,数字由您决定。
没有找到答案?


