我想使用熊貓將表格數據保存到sqlite數據庫中。我在數據庫中定義了一組最小的列,但希望允許保存其他列的可能性。我遇到的問題是,與使用熊貓保存未定義表列的問題to_sql
with sqlite3.connect(dbname) as cnx:
df.to_sql("InboundOrders", cnx, if_exists='replace', index=False)
我可以保存更多的列,例如未定義的名爲「說明」的列。當使用「添加」選項
with sqlite3.connect(dbname) as cnx:
df.to_sql("InboundOrders", cnx, if_exists='append', index=False)
我得到通常sqlite的錯誤:
sqlite3.OperationalError: table InboundOrders has no column named Description
我期待,對於第一數據插入到表中,這兩個選擇都具有相同的行爲方式。我希望將新數據「附加」到數據庫中,因爲我希望稍後能夠回收更多數據,但這個問題正在給我帶來麻煩。這是一個不需要的功能,還是應該是這樣?
我理解其中的邏輯。然而,我發現奇怪的是,如果表格還不存在(就像我的情況那樣),這兩個選項將返回不同的行爲。第一次填滿桌子時,是不是希望他們表現得相同? – famargar
請注意,我重新說明了這個問題,使我的用例更清晰 – famargar
@famargar,我不能再現由您的行爲描述爲不存在的表。如果表格不存在,這兩個選項都可以正常工作 – MaxU