Przeglądaj źródła

完成读取编码,解析翻译指定行列

mrh 10 miesięcy temu
rodzic
commit
fa2b4b41b7

+ 33 - 0
mylib/CONVENTIONS.md

@@ -2,6 +2,24 @@
 为了最小化测试,每个文件都尽可能可以独立调用。
 
 例如 : `python mylib/read_encoding_cvs.py`
+```python
+import os
+def main():
+    print('hello world')
+
+if __name__ == "__main__":
+    main()
+```
+
+不能使用 print 而是导入日志模块
+```python
+from mylib.logging_config import setup_logging
+
+# Setup custom logging
+setup_logging()
+logger = logging.getLogger('xxx')
+
+```
 
 # 本目录下的文件说明
 
@@ -10,3 +28,18 @@
 检测文件的编码,正常读取并打印少量内容,然后转换为 utf8 格式文件
 
 
+`new_col_translate` :
+
+自动获取正确的文件编码,读取 Excel 文件,用 pandas 库操作表格。
+
+实现功能:
+
+传参可以选择某一列,例如 B 列,在 B 列的右边插入空列 C。 log 输出用户传入的信息。
+
+允许从 B 列的哪一行到哪一行开始翻译。默认是从B列第二行到最后一行。
+
+在翻译前,将部分内容先 log 出来看看提取的内容是否正确。
+
+在 C 列中,将 B 列的内容翻译成中文。
+
+允许用户选择翻译的源语言和目标语言,默认源语言是 auto,目标语言的 zh-CN 。

+ 5 - 3
mylib/new_col_translate.py

@@ -97,7 +97,7 @@ def process_csv(
             writer.writerow(header)
             writer.writerows(data)
             
-        logger.info(f"结果已保存到:{output_file}")
+        logger.info(f"结果已保存到: {output_file}")
         
     except Exception as e:
         logger.error(f"处理文件时出错:{e}")
@@ -105,9 +105,11 @@ def process_csv(
 
 if __name__ == "__main__":
     # 示例用法
+    file_path = "/home/mrh/code/excel_tool/temp/测试.csv"
+    output_path = "/home/mrh/code/excel_tool/temp/测试_processed.csv"
     process_csv(
-        input_file='input.csv',
-        output_file='output.csv',
+        input_file=file_path,
+        output_file=output_path,
         column='B',
         start_row=1,
         source_lang='auto',

+ 1 - 2
mylib/read_encoding_cvs.py

@@ -63,7 +63,6 @@ def read_csv(file_path: str, specified_encoding: Optional[str] = None) -> List[L
         'cp932',      # Windows日文编码
         'euc-jp',     # 日文EUC编码
         'iso-2022-jp',# 日文JIS编码
-        'cp936',      # 简体中文Windows编码
         'utf-8-sig',  # UTF-8 with BOM
         'gb18030',    # 中文编码
         'big5',       # 繁体中文
@@ -126,7 +125,7 @@ def main():
     setup_logging()
     logging.getLogger(__name__).setLevel(logging.DEBUG)
     file_path = "/home/mrh/code/excel_tool/temp/测试.csv"
-    read_csv(file_path)
+    read_csv(file_path, 'cp936')
 
 if __name__ == "__main__":
     main()

+ 1 - 1
process_data.py

@@ -3,7 +3,7 @@ import chardet
 import sys
 import logging
 from pathlib import Path
-from mylib.translate_utils import insert_empty_columns, process_batch_translations
+from mylib.new_col_translate import insert_empty_columns, process_batch_translations
 from brand_add_url_link import create_hyperlink, create_asin_link
 from mylib.logging_config import setup_logging
 

+ 1 - 1
tests/add_col_translate.py

@@ -1,5 +1,5 @@
 from pathlib import Path
-from mylib.translate_utils import process_batch_translations
+from mylib.new_col_translate import process_batch_translations
 from mylib.read_encoding_cvs import read_csv
 def main():
     output_dir = Path('temp')