You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自动化翻译脚本生成的CSV文件存在多余空格问题求助

解决CSV翻译文件多余空格问题

问题根源分析

  • 原始文本(XML提取的法语文本、本地CSV的翻译内容)本身存在连续空格、制表符或换行符,split()只能处理首尾空格,没法清理中间的多空格
  • 手动拼接CSV内容时不小心引入了额外空格
  • 写入CSV时没有对文本做统一的标准化处理

具体解决方法

1. 用正则统一清理所有空白字符

别用split(),直接用正则把任意连续的空白(空格、制表符、换行)替换成单个空格,再去除首尾空格。写个工具函数:

import re

def clean_text(text):
    # 替换所有连续空白为单个空格,再去掉首尾空格
    return re.sub(r'\s+', ' ', text).strip()

不管是从XML里提取的标题,还是从本地CSV读出来的翻译,写入应用内CSV前都先过一遍这个函数。

2. 用Python内置csv模块写入文件

别自己手动用逗号拼字符串写CSV,用csv模块自动处理格式,避免手动拼接带来的空格问题:

import csv

# 假设已经拿到标准化后的法/英文翻译对
fr_text = clean_text(french_title)
en_text = clean_text(english_translation)

# 追加到应用内CSV
with open('app_translations.csv', 'a', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerow([fr_text, en_text])

3. 提取XML文本时同步清理

从XML里拿标题的时候,直接把隐藏的换行、制表符一起清掉:

from xml.etree import ElementTree as ET

tree = ET.parse('your_source.xml')
title_elem = tree.find('.//title')
# 先清理再使用
french_title = clean_text(title_elem.text)

完整流程提醒

  1. 读取本地翻译CSV时,对每一行的法、英文文本都做标准化处理
  2. 提取XML标题后立即用clean_text()清理
  3. 匹配到对应的英文翻译后,同样做标准化
  4. 全程用csv模块读写CSV文件,杜绝手动拼接字符串

内容的提问来源于stack exchange,提问作者Jérémie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:23:24