探索数据新维度:csvs-to-sqlite——将CSV文件无缝转换为SQLite数据库




import csv
import sqlite3
 
def create_connection(db_file):
    """创建到SQLite数据库的连接"""
    conn = None
    try:
        conn = sqlite3.connect(db_file)
    except sqlite3.Error as e:
        print(e)
    return conn
 
def csv_to_sqlite(csv_file, sqlite_file, table_name):
    """将CSV文件转换为SQLite数据库的表"""
    conn = create_connection(sqlite_file)
    if conn is not None:
        # 使用`execute()`方法执行SQL语句
        cur = conn.cursor()
        try:
            cur.execute(f"DROP TABLE IF EXISTS {table_name}")
            cur.execute(f"""CREATE TABLE {table_name} (
                              id INTEGER PRIMARY KEY,
                              name TEXT,
                              value REAL
                          )""")
            with open(csv_file, 'r') as f:
                reader = csv.DictReader(f)
                to_db = [(i[1], i[2]) for i in reader]
                cur.executemany(f"INSERT INTO {table_name} (name, value) VALUES (?, ?)", to_db)
            conn.commit()
        except sqlite3.Error as e:
            print(e)
        finally:
            cur.close()
            conn.close()
 
# 使用函数转换CSV到SQLite
csv_to_sqlite('input.csv', 'output.db', 'my_table')

这段代码首先定义了创建SQLite数据库连接的函数create_connection,然后定义了csv_to_sqlite函数,该函数接受CSV文件名、数据库文件名和表名作为参数,并将CSV文件中的数据转储到SQLite数据库的指定表中。代码使用了异常处理来捕获并打印错误信息,确保了连接的安全关闭。

sql
最后修改于:2024年09月06日 09:55

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日