pandas確實是一個神器。
基於django的上傳
1 file = request.FILES.get(k) 2 # 建立連接,username替換為用戶名,passwd替換為密碼,test替換為數據庫名 3 conn = create_engine('mysql+mysqldb://username:password@localhost:3306/test?charset=utf8', encoding='utf-8') 4 df = pd.read_excel(file) 5 df.to_sql(table_name, con=conn, if_exists='append')
在開始的時候出現一個問題,在保存到數據庫時報錯:
UnicodeEncodeError: 'charmap' codec can't encode character '\u7ad9' in position 1: character maps to <undefined>
最后發現問題出在 使用sqlalchemy創建連接時沒有指定charset,就在
'mysql+mysqldb://username:password@localhost:3306/test?charset=utf8'
而在sqlalchemy的示例中也沒有說明:
engine = create_engine("mysql://scott:tiger@hostname/dbname", encoding='latin1', echo=True)