Files
OnebotCatalog/dump_cra.py

73 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
"""
德国大众 CRA 问卷导出脚本
作用:把 xlsx 全部内容(所有 sheet / 单元格 / 合并区域)导出为纯文本,
存到 d:\开发\OnebotCatalog\cra_dump.txt方便 AI 直接读取并翻译。
"""
import sys, io, os
# 强制 UTF-8 输出,避免中文/德语乱码
try:
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
except Exception:
pass
SRC = r"C:\Users\ruigu\Downloads\文档说明.html\20260826德国大众的要求文件\MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx"
OUT = r"d:\开发\OnebotCatalog\cra_dump.txt"
def main():
if not os.path.exists(SRC):
print("!! 找不到源文件:", SRC)
return
try:
import openpyxl
except ImportError:
print("!! 缺少 openpyxl正在尝试安装...")
import subprocess
subprocess.check_call([sys.executable, "-m", "pip", "install", "openpyxl", "-q"])
import openpyxl
wb = openpyxl.load_workbook(SRC, data_only=False)
lines = []
lines.append("FILE: " + SRC)
lines.append("SHEETS: " + " | ".join(wb.sheetnames))
lines.append("=" * 80)
for ws in wb.worksheets:
lines.append("")
lines.append("#" * 80)
lines.append(f"## SHEET: {ws.title} (max_row={ws.max_row}, max_col={ws.max_column})")
lines.append("#" * 80)
# 合并单元格信息
if ws.merged_cells.ranges:
lines.append("MERGED: " + ", ".join(str(r) for r in ws.merged_cells.ranges))
for row in ws.iter_rows():
cells = []
for c in row:
v = c.value
if v is None:
v = ""
v = str(v).replace("\n", "\\n")
if v != "":
cells.append(f"{c.coordinate}={v}")
if cells:
lines.append(" | ".join(cells))
text = "\n".join(lines)
with open(OUT, "w", encoding="utf-8") as f:
f.write(text)
print("DONE")
print("已导出到:", OUT)
print("总行数:", len(lines))
print("---- 内容预览(前 60 行)----")
for l in lines[:60]:
print(l)
if __name__ == "__main__":
main()