繁体   English   中英

从 Excel 生成 JSON 文件以在 Python 中读取

[英]Generating a JSON file from Excel to be read it in Python

我有一个相当大的 Excel 文件,其中包含几个表。
我能够使用 VBA 代码中的 ADODB.Stream 将它们序列化为 JSON:

这是 VBA 代码:

Dim st As ADODB.Stream
  ' create a stream object
Set st = New ADODB.Stream
' set properties
st.Charset = "utf-8"
st.Type = adTypeText
' open the stream object and write some text
st.Open
st.WriteText myString
st.SaveToFile filepath, adSaveCreateOverWrite
st.Close

现在我想在 Python 中读取它以将其传递给具有以下内容的数据帧:

这是 Python 代码:

import JSON
with open(myfilecomplete) as f:
    data = json.load(f)

我收到此错误:

UnicodeDecodeError:“charmap”编解码器无法解码 position 中的字节 0x9d 407330:字符映射到

该文件很大(1MB 的文本)。 我什至不知道如何找到字符 407330。

此外,我应该以最常见的编码形式以 uft-8 写入光盘。 正确的?

为什么 JSON 无法解码 utf-8?

回答/警告后编辑:不要尝试手动从 Excel 序列化 JSON 文件。 这几乎总是会导致错误。 使用适当的库来执行此操作,如下所示

你懂了:


with open(myfilecomplete, encoding='utf-8-sig') as f:
    data = json.load(f)

这里有一些文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM