Pandasデータフレームを主キーでsqliteテーブルに追加する

lmart999

「NewTable」というsqliteデータベースの既存のテーブルにPandasデータフレームを追加したいと思います。NewTableには3つのフィールド(ID、名前、年齢)があり、IDが主キーです。私のデータベース接続:

import sqlite3
DB='<path>'
conn = sqlite3.connect(DB)  

追加したいデータフレーム:

test=pd.DataFrame(columns=['ID','Name','Age'])
test.loc[0,:]='L1','John',17  
test.loc[1,:]='L11','Joe',30  

上記のように、IDはNewTableの主キーです。キー「L1」はすでにNewTableにありますが、キー「L11」はありません。NewTableにデータフレームを追加しようとしています。

from pandas.io import sql 
sql.write_frame(test,name='NewTable',con=conn,if_exists='append')

これはエラーをスローします:

IntegrityError: column ID is not unique

エラーは、キー「L1」がすでにNewTableにあるという事実に起因する可能性があります。データフレームのどちらのエントリもNewTableに追加されません。しかし、新しいキーを持つデータフレームをNewTableに問題なく追加できます。

Pandasデータフレームをsqliteテーブルに追加して、データフレーム内の新しいキーが追加されるが、テーブルにすでに存在するキーが追加されないようにする簡単な方法(ループなしなど)はありますか?

ありがとう。

Happy001

SQL機能を使用できます insert or replace

query=''' insert or replace into NewTable (ID,Name,Age) values (?,?,?) '''
conn.executemany(query, test.to_records(index=False))
conn.commit()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RODBCを使用して、データベースで生成された主キーを使用してデータフレームをテーブルに保存する方法

分類Dev

WhileループでPandasデータフレームに行を追加する

分類Dev

主キーなしでmysqlテーブルに主キーを追加する方法

分類Dev

テーブル(Sentinelフレームワークデータベース)に2つの主キーがあるのはなぜですか?

分類Dev

ブール応答でデータフレームに列を追加する

分類Dev

ASP.NETMVC5エンティティフレームワークデータスキャフォールディングでレコードが子テーブルに追加されたときに親テーブルを更新する方法

分類Dev

PythonでHTMLテーブルをPandasデータフレームに変換する

分類Dev

Pandasデータフレームから(大きな)SQLiteデータベースに列を追加する

分類Dev

forループのpandasデータフレームに行を追加する方法は?

分類Dev

AUTOINCREMENTで複合主キーを使用してSQLiteデータベースにテーブルを作成するときにエラーが発生しました

分類Dev

casoutSASテーブルをpandasデータフレームに抽出します

分類Dev

pandasデータフレームに列レベルを追加する方法

分類Dev

データフレームでRmutateを使用して、テーブル内に自己参照キーを生成します

分類Dev

Pandaデータフレームにブール列を追加する

分類Dev

pandasデータフレームで複数のテキストフィールドを連結する方法

分類Dev

pandasデータフレームに列を追加する

分類Dev

Pandasデータフレームに列を追加する

分類Dev

pandasデータフレームを既存のreportlabテーブルにマージする方法は?

分類Dev

複数の列を複数のデータテーブル(フレーム)に同時に追加する

分類Dev

Forループデータフレームに行を追加する

分類Dev

PandasデータフレームをSQLServerシノニムテーブルに挿入する方法

分類Dev

Pandas Python:データフレームを追加-テキスト

分類Dev

時系列ランキングテーブルをパンダデータフレームPythonで個々のランクテーブルに変換する方法

分類Dev

カスタムサーバー側フィルターをデータテーブルに追加する方法

分類Dev

pandasデータフレームをColumn == value列を持つテーブルに変換する方法は?

分類Dev

テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

分類Dev

テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

分類Dev

forループでデータフレームを一緒に追加する

分類Dev

Pythonでforループ内にデータフレームを追加する方法

Related 関連記事

  1. 1

    RODBCを使用して、データベースで生成された主キーを使用してデータフレームをテーブルに保存する方法

  2. 2

    WhileループでPandasデータフレームに行を追加する

  3. 3

    主キーなしでmysqlテーブルに主キーを追加する方法

  4. 4

    テーブル(Sentinelフレームワークデータベース)に2つの主キーがあるのはなぜですか?

  5. 5

    ブール応答でデータフレームに列を追加する

  6. 6

    ASP.NETMVC5エンティティフレームワークデータスキャフォールディングでレコードが子テーブルに追加されたときに親テーブルを更新する方法

  7. 7

    PythonでHTMLテーブルをPandasデータフレームに変換する

  8. 8

    Pandasデータフレームから(大きな)SQLiteデータベースに列を追加する

  9. 9

    forループのpandasデータフレームに行を追加する方法は?

  10. 10

    AUTOINCREMENTで複合主キーを使用してSQLiteデータベースにテーブルを作成するときにエラーが発生しました

  11. 11

    casoutSASテーブルをpandasデータフレームに抽出します

  12. 12

    pandasデータフレームに列レベルを追加する方法

  13. 13

    データフレームでRmutateを使用して、テーブル内に自己参照キーを生成します

  14. 14

    Pandaデータフレームにブール列を追加する

  15. 15

    pandasデータフレームで複数のテキストフィールドを連結する方法

  16. 16

    pandasデータフレームに列を追加する

  17. 17

    Pandasデータフレームに列を追加する

  18. 18

    pandasデータフレームを既存のreportlabテーブルにマージする方法は?

  19. 19

    複数の列を複数のデータテーブル(フレーム)に同時に追加する

  20. 20

    Forループデータフレームに行を追加する

  21. 21

    PandasデータフレームをSQLServerシノニムテーブルに挿入する方法

  22. 22

    Pandas Python:データフレームを追加-テキスト

  23. 23

    時系列ランキングテーブルをパンダデータフレームPythonで個々のランクテーブルに変換する方法

  24. 24

    カスタムサーバー側フィルターをデータテーブルに追加する方法

  25. 25

    pandasデータフレームをColumn == value列を持つテーブルに変換する方法は?

  26. 26

    テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

  27. 27

    テーブルを作成するときに、MySQLデータベースに主キーフィールドが存在しないのはなぜですか?

  28. 28

    forループでデータフレームを一緒に追加する

  29. 29

    Pythonでforループ内にデータフレームを追加する方法

ホットタグ

アーカイブ