我正在尝试使用 Python 将 JSON 数据导入到 Postgresql 中,但是当我将具有 JSONB 数据类型的“via”字段放入我创建的文件中时,出现“psycopg2.ProgrammingError: can't adjustment type 'dict'”错误Postgresql 数据库中的表。有什么办法可以解决我的问题吗?任何帮助都可以。
样本.json
[
{
"url": "https://www.abcd.com/",
"id": 123456789,
"external_id": null,
"via": {
"channel": "email",
"id": 4,
"source": {
"from": {
"address": "abc@abc.com",
"name": "abc def"
},
"rel": null,
"to": {
"address": "def@def.com",
"name": "def"
}
}
}
},
{
"url": "http://wxyz.com/",
"id": 987654321,
"external_id": null,
"via": {
"channel": "email",
"id": 4,
"source": {
"from": {
"address": "xyz@xyz.com",
"name": "uvw xyz"
},
"rel": null,
"to": {
"address": "zxc@zxc.com", …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Python 将大量 JSON 文件从 Amazon S3 导入到 AWS RDS-PostgreSQL 中。但是,这些错误发生了,
回溯(最近一次调用最后一次):
文件“my_code.py”,第 67 行,位于
file_content = obj['Body'].read().decode('utf-8').splitlines(True)
文件“/home/user/asd-to-qwe/fgh-to-hjk/env/local/lib/python3.6/site-packages/botocore/response.py”,第 76 行,读取
块= self._raw_stream.read(amt)
文件“/home/user/asd-to-qwe/fgh-to-hjk/env/local/lib/python3.6/site-packages/botocore/vendored/requests/packages/urllib3/response.py”,第239行,在读
数据 = self._fp.read()
文件“/usr/lib64/python3.6/http/client.py”,第 462 行,读取
s = self._safe_read(self.length)
文件“/usr/lib64/python3.6/http/client.py”,第 617 行,在 _safe_read 中
返回 b"".join(s)
内存错误
// my_code.py
import sys
import boto3
import psycopg2
import zipfile
import io
import json
s3 = boto3.client('s3', aws_access_key_id=<aws_access_key_id>, aws_secret_access_key=<aws_secret_access_key>)
connection = psycopg2.connect(host=<host>, dbname=<dbname>, user=<user>, password=<password>)
cursor = connection.cursor()
bucket = sys.argv[1]
key = sys.argv[2]
obj = s3.get_object(Bucket=bucket, Key=key)
def …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 Amazon S3 读取 JSON 文件,其文件大小约为 2GB。当我使用该方法时.read(),它给了我MemoryError.
这个问题有什么解决办法吗?任何帮助都可以,非常感谢!
amazon-s3 ×2
etl ×2
json ×2
python ×2
amazon-rds ×1
boto3 ×1
database ×1
jsonb ×1
list ×1
postgresql ×1