使用CSV和脚本自动化更新SQLite3数据库

时间:2018-04-26 14:31:36

标签: python ruby csv cmd sqlite

我有一个sqlite数据库,其中填充了csv文件中的值。我想创建一个运行时的脚本:

  1. 删除旧表
  2. 使用相同的架构(使用新更新的值)创建新表
  3. 我注意到sqlite脚本文件不接受“.mode csv”或.import“csv”。有没有办法自动化这个是用某种脚本吗?

1 个答案:

答案 0 :(得分:1)

如果您需要Python方法,可以使用pandas包中的to_sql方法写入SQLite。 Pandas可以替换现有表,并根据读取的CSV文件自动生成模式。

import sqlite3
import pandas as pd

conn = sqlite3.connect('my.db')

# read the csv file
df = pd.read_csv("my.csv")

# write to SQLite
df.to_sql("my_tbl", conn, if_exists="replace")

conn.close()