3 回答
TA贡献1876条经验 获得超7个赞
json_normalize level ...将嵌套的“行程”列降级为长字符串
事实上不,事实并非如此。该列包含一个列表(或者可能是一个 Series 对象),这使 DBAPI 驱动程序感到困惑。为了让它工作,我必须这样做:
sl1 = pd.read_json(r"C:\Users\Gord\Desktop\sailing.json")
sl1 = pd.json_normalize(sl1["Dataset"])
sl1["MarketName"] = sl1["MarketName"].map(lambda x: json.dumps(x))
sl1["MarketNameList"] = sl1["MarketNameList"].map(lambda x: json.dumps(x))
sl1["Itinerary"] = sl1["Itinerary"].map(lambda x: json.dumps(x))
sl1.to_sql(name="celsailingtemp", con=cnx, if_exists="append", index=True)
TA贡献1830条经验 获得超9个赞
我认为你的ftp传输是通过ascii进行的。将 ftp 设置为使用二进制模式。
sl1 = pd.read_json('ftp://username:password@ftp.address.com/directory/sailings_cel.txt;type=I')
我看到你的回溯,似乎是python编码问题,而不是MySQL。设置使用utf-8。
python编码 在执行之前设置python编码。
export PYTHONIOENCODING=utf-8
OS编码确认utf-8编码类型,执行
locale -a
命令。
# locale -a C C.UTF-8 POSIX
如果有C.UTF-8
,请设置C.UTF-8
。
export LC_CTYPE="C.UTF-8"
添加回答
举报