使用 Python 将 CSV 数据批量导入 SQLite
使用 Python 的 sqlite3 模块将 CSV 文件导入 SQLite 数据库表可以是一个简单的过程。但是,直接使用“.import”命令可能不会产生所需的结果,如最近的查询中所建议的。
要有效导入 CSV 文件,请考虑以下方法:
示例:
假设您当前工作目录中有一个名为“data.csv”的 CSV 文件,并且使用以下命令建立了数据库连接sqlite3.connect(),您可以使用以下步骤执行导入:
import csv, sqlite3 # Connect to the database con = sqlite3.connect(":memory:") # or 'sqlite:///your_filename.db' # Create a cursor cur = con.cursor() # Create the target table in advance cur.execute("CREATE TABLE t (col1, col2);") # Adjust column names as needed # Open the CSV file for reading with open('data.csv','r') as fin: # Create a DictReader to read the header and rows as dictionaries # In case of a headerless file, skip the header argument dr = csv.DictReader(fin, delimiter=',') # Convert the rows into a list of tuples to_db = [(i['col1'], i['col2']) for i in dr] # Use executemany to insert the data efficiently cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db) # Commit the changes con.commit() # Close the connection con.close()
此脚本假设您的 CSV 文件有两列名为“col1”和“col2”。如果您的文件具有不同的列名称,请在代码中相应地调整它们。成功执行后,CSV数据将导入到指定数据库中新创建的“t”表中。
以上是如何使用 Python 将 CSV 文件导入 SQLite 数据库表?的详细内容。更多信息请关注PHP中文网其他相关文章!