Bootstrap

Excel中双引号问题

背景:

从Excel中读取数据时,发现有的单元格读出来是一个双引号,有的是一个双引号

在这里插入图片描述

"{
  ""accountName"": ""全字段"",
  ""accountState"": ""NORMAL"",
  ""isCredit"": true,
  ""owerType"": ""GUESTROOM_ORDER"",
  ""pageNo"": 1,
  ""pageSize"": 3,
  ""parentAccountId"": 2
}"
{"id": 2435}

原因

Excel 中复制的数据是一个 JSON 对象,但是由于 Excel 的处理方式,JSON 字符串中的双引号 (“) 被替换成了两个双引号 (”")。这是因为在 CSV 和一些其他文本格式中,双引号被用来转义字段内的引号字符。

要将这个字符串转换为正确的 JSON 格式,你需要将多余的双引号移除,使得每个引号只出现一次。

影响

将数据转换成json对象时,会出现报错

Traceback (most recent call last):
  File "D:\Miniconda3\lib\code.py", line 63, in runsource
    code = self.compile(source, filename, symbol)
  File "D:\Miniconda3\lib\codeop.py", line 153, in __call__
    return _maybe_compile(self.compiler, source, filename, symbol)
  File "D:\Miniconda3\lib\codeop.py", line 73, in _maybe_compile
    return compiler(source, filename, symbol)
  File "D:\Miniconda3\lib\codeop.py", line 118, in __call__
    codeob = compile(source, filename, symbol, self.flags, True)
  File "<input>", line 1
    json.loads("{
               ^
SyntaxError: unterminated string literal (detected at line 1)

修复

# 修复 JSON 字符串
corrected_json_str = excel_json_str.replace('""', '"')
;