python - 从 Excel 生成 JSON 文件以在 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”编解码器无法解码位置 407330 中的字节 0x9d:字符映射到
该文件很大(1MB 的文本)。我什至不知道如何找到字符 407330。
此外,我应该以最常见的编码形式以 uft-8 写入光盘。对?
为什么 JSON 无法解码 utf-8?
回答/警告后编辑:不要尝试手动从 Excel 序列化 JSON 文件。这几乎总是会导致错误。使用适当的库来执行此操作,如下所示:
解决方案
推荐阅读
- android - 底部导航视图未在整个空间中展开
- azure - 如何将不同的 aks 部署放在同一个资源组/集群中?
- python - Python Anaconda ImportError:menuinst.knownfolders
- python - 如何确保仅在 python 中仅从派生类调用基本构造函数
- mongodb - MongoDB查询以查找嵌套数组中的列表
- asp.net - 电子邮件确认后如何将用户重定向到主页?
- amazon-web-services - 使用 aws java sdk 版本 2 从资源文件夹中读取 aws 配置和凭据
- database - 布尔表达式不能为空?
- asp.net - 通过 Microsoft Graph 访问共享邮箱 - “访问被拒绝”
- java - C#如何关闭所有子进程