translate_csv.py 924 B

123456789101112131415161718192021222324252627282930313233
  1. import pandas as pd
  2. from dotenv import load_dotenv
  3. from mylib.pdfzh_translator import OpenAITranslator
  4. def translate_csv(input_file):
  5. # 加载环境变量
  6. load_dotenv()
  7. # 读取CSV文件
  8. df = pd.read_csv(input_file)
  9. # 在B列右边插入一列空列
  10. df.insert(2, 'C', '')
  11. # 获取B列从第二行开始的数据(跳过标题行)
  12. data_to_translate = df.iloc[1:, 1].tolist()
  13. # 初始化翻译器
  14. translator = OpenAITranslator()
  15. # 批量翻译
  16. translated_texts = translator._batch_translate(data_to_translate)
  17. # 将翻译结果写入C列,从第二行开始
  18. df.iloc[1:, 2] = translated_texts
  19. # 保存修改后的CSV文件
  20. output_file = input_file.replace('.csv', '_translated.csv')
  21. df.to_csv(output_file, index=False)
  22. if __name__ == '__main__':
  23. input_file = '/home/mrh/code/excel_tool/temp/测试.csv.utf8.csv'
  24. translate_csv(input_file)