5th_fix excel problem

This commit is contained in:
beabigegg
2025-09-03 15:07:34 +08:00
parent cce3fd4925
commit 5fd0671b4f
28 changed files with 4484 additions and 97 deletions

134
verify_final_result.py Normal file
View File

@@ -0,0 +1,134 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
驗證最終韓文翻譯結果
"""
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# 設定編碼
sys.stdout.reconfigure(encoding='utf-8')
from pathlib import Path
import openpyxl
def verify_final_result():
"""驗證最終韓文翻譯結果"""
print("=" * 80)
print("驗證最終韓文翻譯結果")
print("檢查是否成功使用原始DIFY翻譯")
print("=" * 80)
# 韓文翻譯檔案
translated_file = Path(r"C:\Users\EGG\WORK\data\user_scrip\TOOL\Document_translator_V2\uploads\98158984-f335-44f5-a0b4-88fb8ccd5d78\original_panjit_98158984_ko_translated.xlsx")
if not translated_file.exists():
print(f"❌ 翻譯檔案不存在")
return
print(f"✅ 檢查檔案: {translated_file.name}")
# 1. 檢查D2儲存格詳細內容
print(f"\n1. D2儲存格詳細分析")
print("-" * 60)
wb = openpyxl.load_workbook(str(translated_file), data_only=False)
d2_value = wb.active['D2'].value
print(f"D2完整內容:")
print(f" 類型: {type(d2_value)}")
print(f" 長度: {len(d2_value) if d2_value else 0}")
print(f" 內容: {repr(d2_value)}")
if isinstance(d2_value, str):
lines = d2_value.split('\n')
print(f"\n行分解 (共{len(lines)}行):")
for i, line in enumerate(lines, 1):
print(f"{i}: {repr(line)}")
# 找韓文翻譯部分
korean_lines = []
for line in lines:
# 檢查是否包含韓文字符
if any('\uac00' <= char <= '\ud7af' for char in line):
korean_lines.append(line)
print(f"\n韓文行 (共{len(korean_lines)}行):")
for i, line in enumerate(korean_lines, 1):
print(f" 韓文{i}: {line}")
# 檢查特徵
if "와이어 본딩" in line:
print(f" 🎯 ✅ 原始DIFY翻譯特徵: '와이어 본딩'")
success = True
elif "연결" in line and "단축" in line:
print(f" ✋ ❌ 手動補充翻譯特徵: '연결' + '단축'")
success = False
else:
print(f" ❓ 無明顯特徵")
success = None
# 2. 檢查其他D欄位
print(f"\n2. 其他D欄位檢查")
print("-" * 60)
d_cells = ['D3', 'D4', 'D5', 'D6', 'D7', 'D8']
success_count = 0
for cell_name in d_cells:
cell_value = wb.active[cell_name].value
if isinstance(cell_value, str) and '\n' in cell_value:
lines = cell_value.split('\n')
korean_lines = [line for line in lines if any('\uac00' <= char <= '\ud7af' for char in line)]
if korean_lines:
print(f"{cell_name}: 有韓文翻譯")
print(f" 韓文: {korean_lines[0][:30]}...")
success_count += 1
else:
print(f"{cell_name}: 沒有韓文翻譯")
else:
print(f"{cell_name}: 沒有翻譯或格式不正確")
print(f"\nD欄位翻譯成功率: {success_count + (1 if success else 0)}/{len(d_cells) + 1} = {((success_count + (1 if success else 0))/(len(d_cells) + 1)*100):.1f}%")
# 3. 最終評估
print(f"\n3. 最終評估")
print("-" * 60)
if success is True:
print(f"🎉 大成功!")
print(f" ✅ D2正確使用原始DIFY翻譯")
print(f" ✅ 修復邏輯完美運作")
print(f" ✅ 文字格式不匹配問題已解決")
print(f" 📊 整體品質: 使用原始API翻譯品質更佳")
elif success is False:
print(f"⚠️ 部分成功")
print(f" ❌ D2仍使用手動補充翻譯")
print(f" ❓ 可能需要檢查Celery worker是否載入新代碼")
else:
print(f"❓ 無法明確判斷")
print(f" 需要人工檢查翻譯內容")
wb.close()
# 4. 檔案總結
print(f"\n4. 檔案總結")
print("-" * 60)
print(f"最終韓文翻譯檔案:")
print(f" 檔案: {translated_file.name}")
print(f" 大小: {translated_file.stat().st_size / 1024:.1f} KB")
print(f" 狀態: {'可用' if success is not False else '需要進一步檢查'}")
print(f"\n" + "=" * 80)
print("最終結果驗證完成!")
if success is True:
print("🎊 恭喜!問題已完美解決!")
print("=" * 80)
if __name__ == "__main__":
verify_final_result()