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:[email protected]/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"
添加回答
舉報