python--杂识--18.1--pandas数据插入sqlite并进行查询

python 复制代码
import pandas as pd
import sqlite3

connection = sqlite3.connect(":memory:")
cursor = connection.cursor()
connection.execute("PRAGMA case_sensitive_like = true;")


file_path = "test.csv"
table_name = "student"
filed_name= "name"


header = pd.read_csv(file_path, nrows=1).to_dict(orient="records")[0]

create_table_sql = f"CREATE TABLE {table_name} (" + \
                   ",".join(["{0} {1}".format(key, value) for key, value in header.items()]) + ")"
connection.execute(create_table_sql)

# 查看表结构
cursor.execute("PRAGMA table_info(student)")
print("字段信息:")
for field in cursor.fetchall():
    print(f"名称:{field[1]:<6} | 类型:{field[2]:<8} | 主键:{field[5]}")

# pd读csv内容
df = pd.read_csv(file_path, encoding="utf-8", skiprows=[1], na_values=["null"], keep_default_na=False, dtype=object)
print(df)
# pd将数据插入sqlite
df.to_sql(table_name, connection, if_exists="append", index=False)

# 查表数据
query = f"select name, age, sex, class from {table_name}"
result = pd.read_sql_query(query, connection)
print(result)
connection.close()
相关推荐
天赐范式5 分钟前
天赐范式第175天:让活着的成员互相验证——异质互验与重放反伪造
python·数字生命·天赐范式·动态运行时·互验·重放反伪造
Wx-bishekaifayuan7 分钟前
springboot贵州旅游系统55916-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
计算机源码社10 分钟前
【27届大数据毕设】基于Hadoop的跨境二手车价格对比可视化分析系统-基于K-Means与FPGrowth的二手车价格影响因素挖掘研究
大数据·hadoop·python·数据分析·spark·毕业设计·数据可视化
Thneonl5 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
清桔5 小时前
模型的调用
python
小小张说故事5 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
10年前端老司机5 小时前
干货分享|企业智能知识库 Rerank 重排序落地实践与踩坑总结
python·aigc·agent
天天被压力5 小时前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·人工智能·python
天天被压力5 小时前
【Python 量化取数指南 #14】Python 清洗行情数据:复权停牌对齐,回测不翻车
java·人工智能·python
Python私教5 小时前
Python环境配置:conda+PyCharm+换源,附6个坑
人工智能·python·pycharm