我正在使用Python 3.x将多个JSON文件写入我们的SQL Server数据库。 当我导入JSON文件并将其存储在Pandas DF中时,由于长度未知,所有字符串都存储为对象。 因此,当我将数据写入SQL Server时,选择的数据类型是text而不是varchar(255)。
是否有一种方法可以动态地将所有dtype为object的列转换为dtype为string? 这些字符串可能会在前255个字符处被截断。
我尝试了以下方法,但导致Python崩溃...
url = 'some-url-to-json-file'
params['connectionString'] = 'driver://user:pw@server/database'
engine = sqlalchemy.create_engine(connectionString)
response = requests.get(url)
pandasDF = pandas.DataFrame(response.json()['value'])
# Convert Objects to Strings
for cName in list(pandasDF.columns.values):
if pandasDF[cName].dtype == 'object':
pandasDF[cName] = pandasDF[cName].to_string
pandasDF.to_sql(tableName, engine, if_exists = 'append')
df.to_sql
中有一个 schema 参数。请检查一下。 - undefined