使用pandas將上傳的excel文件保存到數據庫


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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM