gpt4 book ai didi

python - 如何使用 PYTHON 的 mysql-connector 将 MySQL 数据库导出为 json?

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:35 25 4
gpt4 key购买 nike

我想使用 python 中的库 mysql-connectorjson 将带有一张表的 mysql 数据库导出为 json。

我尝试过的:

import mysql-connector, json

cursor.execute("SELECT * FROM records")
data=cursor.fetchall()
for e in data:
print(json.dumps(data, sort_keys=True, indent=4, separators=(',', ': ')))

回溯错误:

Traceback (most recent call last):
File "bsentor.py", line 238, in <module>
print(json.dumps(data))
File "C:\Users\Justo Gregorio\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Users\Justo Gregorio\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Users\Justo Gregorio\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Users\Justo Gregorio\AppData\Local\Programs\Python\Python37\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type date is not JSON serializable

最佳答案

如果您有无法序列化为 JSON 的对象,您可以在 json.dumps 上使用 default=str

cursor.execute("SELECT * FROM registros")
data=cursor.fetchall()
for e in data:
print(json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '), default=str))

关于python - 如何使用 PYTHON 的 mysql-connector 将 MySQL 数据库导出为 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com