to_sqlは非常に便利で、csvなどのデータから簡単にデータベースへ保存できるのですが、
プライマリーキーを付け加えたく思います。
あらかじめデータベースは最初から作っております。
import pandas as pd import sqlite3 #CSV保存先 z1=r"-----" r1="f.csv" df = pd.read_csv(z1 + "\\" + r1,encoding="CP932") #データ保存先 z2=r"" db_="example.db" table_="ist" conn = sqlite3.connect(z2 + '\\' + db_) # カーソルを取得 c = conn.cursor() df.to_sql(table_,conn,if_exists='append',index_label='id', dtype={'id': 'INTEGER PRIMARY KEY AUTOINCREMENT'}) # コミット conn.commit() # コネクションをクローズ conn.close()
以上で、簡単にテーブルを作成できます。indexも付与されます。
この次に、indexを指定せず(index=False)追加しようとしてもIDが追記されません。
何もID列が追加されないか、indexがまた0から追記されます。
df.to_sql(table_,conn,if_exists='append',index_label='id', dtype={'id': 'INTEGER PRIMARY KEY AUTOINCREMENT'}) df.to_sql(table_,conn,if_exists='append',index=False, dtype={'id': 'INTEGER PRIMARY KEY AUTOINCREMENT'})
こちらを参考にしてみたのですが、
id = db.Column(db.Integer, primary_key=True,autoincrement=True)
上記のdbがないことや、pip install dbで取得しても動作しません。
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?
のエラーが出て、そもそもdbなしでできないのか、相談させてください。
SQliteとPandasを使用して、最初のテーブル作成にCREATE文を使用せず、簡易的にto_csvからテーブル作成を
行いたく思います。
宜しくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。