如何使用 Python 将 CSV 文件导入 SQLite 数据库?

Patricia Arquette
发布: 2024-11-09 08:09:02
原创
1015 人浏览过

How can I import CSV files into SQLite databases using Python?

使用 Python 将 CSV 文件导入 SQLite 数据库

在 Python 中,利用 sqlite3 模块使开发人员能够轻松导入将 CSV 文件中的数据导入 sqlite3 数据库表中。虽然“.import”命令可能无法直接应用,但替代方法提供了完成此任务的简单方法。

示例代码:

说明导入过程,考虑以下Python代码:

import csv, sqlite3

# Connect to the database (in-memory or file) and create a cursor
con = sqlite3.connect(":memory:") # change to 'sqlite:///your_filename.db'
cur = con.cursor()
cur.execute("CREATE TABLE t (col1, col2);") # use your column names here

# Open the CSV file for reading
with open('data.csv','r') as fin:
    # Create a DictReader object to read data from the CSV file
    dr = csv.DictReader(fin) # comma is default delimiter
    # Convert CSV data into a list of tuples for database insertion
    to_db = [(i['col1'], i['col2']) for i in dr]

# Execute the insert query using executemany to efficiently import data
cur.executemany("INSERT INTO t (col1, col2) VALUES (?, ?);", to_db)

# Commit changes to the database
con.commit()

# Close the connection and cursor
con.close()
登录后复制

解释:

  • 使用sqlite3.connect()连接到SQLite数据库并创建一个用于执行的游标
  • 使用CREATE TABLE语句在数据库中创建目标表。
  • 使用with语句打开CSV文件进行读取。
  • 使用csv.DictReader进行读取CSV 文件中的数据。它自动将列名映射到各自的值。
  • 将数据转换为元组列表,以便高效插入数据库。
  • 利用executemany同时导入多行。
  • 提交更改以使数据持久化在数据库中。
  • 关闭连接和游标以释放资源。

以上是如何使用 Python 将 CSV 文件导入 SQLite 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板