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

如何仅提取并打印Excel文件中的英文字符串?

解决Excel中提取JSON格式字符串里的英文内容问题

首先看你的代码问题:你在字符串替换时不仅有变量名拼写错误(第一次替换后赋值给re,但后续用了未定义的res),更关键的是你的替换逻辑没有正确移除阿拉伯语部分,只是修改了分隔符,导致阿拉伯语内容被保留了下来。

下面给你两种解决方案,优先推荐第二种更稳健的方式:

方法1:修正字符串替换逻辑(快速应急)

如果暂时不想用JSON解析,可以调整替换逻辑,直接分割出英语部分:

for i in range(sheet.nrows):
    hotel_column = sheet.cell_value(i, 0)
    # 先移除开头的阿拉伯语前缀
    temp_str = hotel_column.replace('{"ar": "', '')
    # 按中间的分隔符分割,取第二部分(英语内容+末尾标记)
    en_segment = temp_str.split('", "en": "')[1]
    # 移除末尾的标记
    english_text = en_segment.replace('"}', '')
    print(english_text)

这样就能精准提取出英文部分,避免阿拉伯语内容残留。

方法2:使用JSON解析(推荐,更可靠)

因为你的单元格内容本质是转义后的JSON字符串("是HTML转义的双引号),用标准的JSON解析是最稳妥的方式,哪怕后续字符串格式有小变动(比如键的顺序、空格变化)都能正确提取:

import json

for i in range(sheet.nrows):
    hotel_column = sheet.cell_value(i, 0)
    # 把转义的"还原成普通双引号,得到标准JSON字符串
    valid_json = hotel_column.replace('"', '"')
    # 解析成Python字典
    data_dict = json.loads(valid_json)
    # 提取"en"字段的内容,没有的话返回空字符串
    english_text = data_dict.get('en', '')
    print(english_text)

这种方法从根本上处理了JSON格式的数据,比字符串替换更健壮,也更易维护。

内容的提问来源于stack exchange,提问作者Abdullah Md

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 16:22:46