我正在從谷歌書籍中收集資料點,將資料轉換為資料框,然后攝取到 mysql 資料庫中。
對于每個資料點,我將創建一個資料幀,攝取到臨時表中,從該臨時表中提取到主表中,然后洗掉臨時表。
有時,某些批次的書籍會有改編。有時,他們不會。如果他們不這樣做,則將存盤標題到適應映射的資料框不會填充它們,因為某些標題沒有適應。說,我有一個像這樣的資料框
adaptation
看起來像
title | adaptation
|
哪里是空的。然后,我嘗試使用 pandas.to_sql方法創建一個這樣的臨時表
adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False),
如果資料框為空,我會收到這樣的 SQL 語法錯誤,我認為:
(mysql.connector.errors.ProgrammingError) 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2
[SQL:
CREATE TABLE adaptation_staging (
)
]
(Background on this error at: http://sqlalche.me/e/13/f405)
那么,我該如何處理這種情況呢?假設,如果適配資料幀是空的,我們甚至都不想創建這個臨時表,因為不會向主適配表中插入任何內容。所以也許包裹在一個try: except:?
想法?如果需要,我可以澄清一下。謝謝!
uj5u.com熱心網友回復:
檢查資料框是否為空,如果為空,則列印為空,并在 else 塊中運行創建表 SQL 腳本。
if adaptation.empty:
print('adaptation is empty')
else:
adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/419727.html
標籤:
下一篇:當我嘗試使用keycloak和mysqldocker容器在SpringBoot應用程式中從郵遞員發布時,我被禁止
