当前位置: 首页 > article >正文

python:csv文件批量导入mysql

1.导入sql文件到数据库中

mysql -u username -p要先创建一个空的数据库
CREATE DATABASE your_database_name;USE your_database_name;导入sql文件
source /path/to/your/file.sql;查看某个表格的结构,为后续数据插入做准备
DESCRIBE table_name;

2.插入假数据到对应的表格中

import pymysql
from datetime import datetime# 连接到MySQL数据库
conn = pymysql.connect(host="localhost",       # MySQL 主机user="root",   # MySQL 用户名password="",  # MySQL 密码database="tiku"  # 要连接的数据库
)# 创建游标对象
cursor = conn.cursor()# 插入数据的SQL语句
insert_query = """
INSERT INTO question_bank (id, subject, question_content, occupation, languages, difficulty, insert_time, update_time, is_deleted)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
"""# 插入数据的值(假数据)
fake_data = [(111, "数学基础", "计算两点之间的距离", "学生", "中文", "中等", datetime.now(), None, 0),(222, "英语阅读理解", "阅读以下文章并回答问题", "学生", "英文", "简单", datetime.now(), None, 0),(333, "Python编程", "编写一个函数来求解阶乘", "程序员", "英文", "困难", datetime.now(), None, 0),(444, "历史常识", "第二次世界大战爆发的原因是什么", "学生", "中文", "中等", datetime.now(), None, 0),(555, "计算机网络", "解释TCP/IP协议的工作原理", "工程师", "中文", "困难", datetime.now(), None, 0)
]# 执行批量插入操作
cursor.executemany(insert_query, fake_data)# 提交事务
conn.commit()# 打印影响的行数
print(f"{cursor.rowcount} row(s) inserted.")# 关闭游标和连接
cursor.close()
conn.close()

3.查看csv文件的列名

import csv# 打印 CSV 文件中的所有列名
with open('bishiti.csv', mode='r', encoding='utf-8') as file:csv_reader = csv.DictReader(file)print(csv_reader.fieldnames)  # 打印列名

4.将csv文件中的数据插入到mysql中

import pymysql
import csv
from datetime import datetime# 连接到MySQL数据库
conn = pymysql.connect(host="localhost",       # MySQL 主机user="root",            # MySQL 用户名password="",    # MySQL 密码database="tiku"         # 要连接的数据库
)# 创建游标对象
cursor = conn.cursor()# 插入数据的SQL语句
insert_query = """
INSERT INTO question_bank (id, subject, question_content, occupation, languages, difficulty, insert_time, update_time, is_deleted)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
"""# 读取CSV文件,获取“考察对象”列的前十行数据
occupation_list = []
# 清理列名中的空格
with open('bishiti.csv', mode='r', encoding='utf-8') as file:csv_reader = csv.DictReader(file)csv_reader.fieldnames = [name.strip() for name in csv_reader.fieldnames]  # 去掉列名的空格for row in csv_reader:occupation_list.append(row['考察对象'])  # 使用去除空格后的列名if len(occupation_list) >= 10:break# 检查是否获取到了至少10个考察对象
if len(occupation_list) < 10:print("CSV文件中的考察对象列数据不足10行!")exit()# 生成假数据并插入
fake_data = [(i+1, "数学基础", "计算两点之间的距离", occupation_list[i], "中文", "中等", datetime.now(), None, 0)for i in range(10)
]# 执行批量插入操作
cursor.executemany(insert_query, fake_data)# 提交事务
conn.commit()# 打印影响的行数
print(f"{cursor.rowcount} row(s) inserted.")# 关闭游标和连接
cursor.close()
conn.close()

5.将修改好的表格数据和结构导出为sql文件

sudo mysqldump -u root -p --databases tiku3 --tables question_bank > ~/question_bank.sql
mv ~/question_bank.sql ./  # 移动到当前目录
 

相关文章:

python:csv文件批量导入mysql

1.导入sql文件到数据库中 mysql -u username -p要先创建一个空的数据库 CREATE DATABASE your_database_name;USE your_database_name;导入sql文件 source /path/to/your/file.sql;查看某个表格的结构&#xff0c;为后续数据插入做准备 DESCRIBE table_name;2.插入假数据到对应…...

软件设计模式

目录 一.创建型模式 抽象工厂 Abstract Factory 构建器 Builder 工厂方法 Factory Method 原型 Prototype 单例模式 Singleton 二.结构型模式 适配器模式 Adapter 桥接模式 Bridge 组合模式 Composite 装饰者模式 Decorator 外观模式 Facade 享元模式 Flyw…...

C++证件识别接口-身份证识别-护照识别-驾驶证识别-户口页识别

数字化信息时代&#xff0c;快速准确地处理各类证件信息已经成为许多行业提升效率的关键。无论是金融、物流、旅游还是公共服务领域&#xff0c;证件识别接口的应用极大的简化了证件信息提取的流程&#xff0c;提高了录入效率。 证件识别接口提升业务处理效率 传统的人工审核…...

3步打造C# API安全密盾

引言&#xff1a;API 安全的重要性 在数字化浪潮中&#xff0c;应用程序编程接口&#xff08;API&#xff09;已成为不同软件系统之间通信和数据交互的关键桥梁。无论是企业内部的微服务架构&#xff0c;还是面向外部用户的在线服务&#xff0c;API 都承担着数据传输和业务逻辑…...

vscode 如何通过Continue引入AI 助手deepseek

第一步&#xff1a; 在deepseek 官网上注册账号&#xff0c;得到APIKeys(deepseek官网地址) 创建属于自己的APIKey,然后复制这个key,(注意保存自己的key)! 第二步&#xff1a; 打开vscode,在插件市场安装Continue插件, 点击设置&#xff0c;添加deepseek模型&#xff0c;默认…...

通过docker安装部署deepseek以及python实现

前提条件 Docker 安装:确保你的系统已经安装并正确配置了 Docker。可以通过运行 docker --version 来验证 Docker 是否安装成功。 网络环境:保证设备有稳定的网络连接,以便拉取 Docker 镜像和模型文件。 步骤一:拉取 Ollama Docker 镜像 Ollama 可以帮助我们更方便地管理…...

iOS 音频录制、播放与格式转换

iOS 音频录制、播放与格式转换:基于 AVFoundation 和 FFmpegKit 的实现 在 iOS 开发中,音频处理是一个非常常见的需求,比如录音、播放音频、音频格式转换等。本文将详细解读一段基于 AVFoundation 和 FFmpegKit 的代码,展示如何实现音频录制、播放以及 PCM 和 AAC 格式之间…...

RK3576——USB3.2 OTG无法识别到USB设备

问题&#xff1a;使用硬盘接入到OTG接口无热插拔信息&#xff0c;接入DP显示屏无法正常识别到显示设备&#xff0c;但是能通过RKDdevTool工具烧录系统。 问题分析&#xff1a;由于热插拔功能实现是靠HUSB311芯片完成的&#xff0c;因此需要先确保HUSB311芯片驱动正常工作。 1. …...

【MySQL】语言连接

语言连接 一、下载二、mysql_get_client_info1、函数2、介绍3、示例 三、其他函数1、mysql_init2、mysql_real_connect3、mysql_query4、mysql_store_result5、mysql_free_result6、mysql_num_fields7、mysql_num_rows8、mysql_fetch_fields9、mysql_fetch_row10、mysql_close …...

20240206 adb 连不上手机解决办法

Step 1: lsusb 确认电脑 usb 端口能识别设备 lsusb不知道设备有没有连上&#xff0c;就插拔一下&#xff0c;对比观察多了/少了哪个设备。 Step 2: 重启 adb server sudo adb kill-serversudo adb start-serveradb devices基本上就可以了&#xff5e; Reference https://b…...

何为运行时(Runtime)

Runtime&#xff08;运行时&#xff09; 是计算机程序中实际执行的阶段&#xff0c;指从程序启动到终止的整个运行过程。它涵盖了程序运行所需的环境、资源管理和底层支持机制。 1. 核心概念 运行时环境&#xff08;Runtime Environment&#xff09; 程序运行依赖的基础设施&am…...

基于ansible部署elk集群

ansible部署 ELK部署 ELK常见架构 &#xff08;1&#xff09;ElasticsearchLogstashKibana&#xff1a;这种架构是最常见的一种&#xff0c;也是最简单的一种架构&#xff0c;这种架构通过Logstash收集日志&#xff0c;运用Elasticsearch分析日志&#xff0c;最后通过Kibana中…...

【C语言设计模式学习笔记1】面向接口编程/简单工厂模式/多态

面向接口编程可以提供更高级的抽象&#xff0c;实现的时候&#xff0c;外部不需要知道内部的具体实现&#xff0c;最简单的是使用简单工厂模式来进行实现&#xff0c;比如一个Sensor具有多种表示形式&#xff0c;这时候可以在给Sensor结构体添加一个enum类型的type&#xff0c;…...

Mac上搭建k8s环境——Minikube

1、在mac上安装Minikube可执行程序 brew cask install minikub 安装后使用minikube version命令查看版本 2、安装docker环境 brew install --cask --appdir/Applications docker #安装docker open -a Docker #启动docker 3、安装kubectl curl -LO https://storage.g…...

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目&#xff0c;某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除&#xff0c;且其包含的commit也能被所有能看到这个仓库的…...

【创建模式-单例模式(Singleton Pattern)】

赐萧瑀 实现方案饿汉模式懒汉式&#xff08;非线程安全&#xff09;懒汉模式&#xff08;线程安全&#xff09;双重检查锁定静态内部类 攻击方式序列化攻击反射攻击 枚举(最佳实践)枚举是一种类 唐 李世民 疾风知劲草&#xff0c;板荡识诚臣。 勇夫安识义&#xff0c;智者必怀仁…...

MTGNN论文解读

模型架构 MTGNN 由多个模块组合而成&#xff0c;目标是捕捉多变量时间序列中的空间&#xff08;变量间&#xff09;和时间&#xff08;时序&#xff09;依赖。 图学习层&#xff1a;用于自适应地学习图的邻接矩阵&#xff0c;发现变量之间的关系。图卷积模块&#xff1a;根据邻…...

C++ 常用排序算法

排序算法 算法简介 sort // 对容器内元素进行排序 random_shuffle // 洗牌 指定范围内的元素随机调整次序 merge // 容器元素合并&#xff0c; 并存储到另一容器中 reverse // 反转指定范围内的元素1. sort 功能&#xff1a;对容器内部分区间按某种规则进行排序 函数原型&a…...

C语言:函数栈帧的创建和销毁

目录 1.什么是函数栈帧2.理解函数栈帧能解决什么问题3.函数栈帧的创建和销毁的过程解析3.1 什么是栈3.2 认识相关寄存器和汇编指令3.3 解析函数栈帧的创建和销毁过程3.3.1 准备环境3.3.2 函数的调用堆栈3.3.3 转到反汇编3.3.4 函数栈帧的创建和销毁 1.什么是函数栈帧 在写C语言…...

VSCode便捷开发

一、常用插件 Vue 3 Snippets、Vetur、Vue - Official 二、常用开发者工具 三、Vue中使用Element-UI 安装步骤&#xff1a; 1、在VSCode的终端执行如下指令&#xff1a; npm i element-ui -S 2、在main.js中全局引入&#xff1a; import Vue from vue; import ElementUI from …...

二、tsp学习笔记——LINUX SDK编译

开发环境&#xff1a;window11 wsl ubuntu24.04 lypwslDESKTOP-39T8VTC:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.1 LTS Release: 24.04 Codename: noble linux_sdk同步 tspi_linux_sdk_repo_202…...

langchain教程-2.prompt

前言 该系列教程的代码: https://github.com/shar-pen/Langchain-MiniTutorial 我主要参考 langchain 官方教程, 有选择性的记录了一下学习内容 这是教程清单 1.初试langchain2.prompt3.OutputParser/输出解析4.model/vllm模型部署和langchain调用5.DocumentLoader/多种文档…...

分析用户请求K8S里ingress-nginx提供的ingress流量路径

前言 本文是个人的小小见解&#xff0c;欢迎大佬指出我文章的问题&#xff0c;一起讨论进步~ 我个人的疑问点 进入的流量是如何自动判断进入iptables的四表&#xff1f;k8s nodeport模式的原理&#xff1f; 一 本机环境介绍 节点名节点IPK8S版本CNI插件Master192.168.44.1…...

初阶数据结构:树---堆

目录 一、树的概念 二、树的构成 &#xff08;一&#xff09;、树的基本组成成分 &#xff08;二&#xff09;、树的实现方法 三、树的特殊结构------二叉树 &#xff08;一&#xff09;、二叉树的概念 &#xff08;二&#xff09;、二叉树的性质 &#xff08;三&#…...

Vue WebSocket简单应用 ws

webSocket应用 <template><div></div> </template><script> import { getToken } from "/utils/auth"; export default {data() {return {url: "",Socket: null, //socket对象lockReconnect: false, //锁定拒绝重连close: …...

feign 远程调用详解

在平常的开发工作中&#xff0c;我们经常需要跟其他系统交互&#xff0c;比如调用用户系统的用户信息接口、调用支付系统的支付接口等。那么&#xff0c;我们应该通过什么方式进行系统之间的交互呢&#xff1f;今天&#xff0c;简单来总结下 feign 的用法。 1&#xff1a;引入依…...

Sentinel的安装和做限流的使用

一、安装 Release v1.8.3 alibaba/Sentinel GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 alibaba/Sentinelhttps://github.com/alibaba/Senti…...

讯飞智作 AI 配音技术浅析(三):自然语言处理

自然语言处理&#xff08;NLP&#xff09;是讯飞智作 AI 配音技术的重要组成部分&#xff0c;负责将输入的文本转换为机器可理解的格式&#xff0c;并提取出文本的语义和情感信息&#xff0c;以便生成自然、富有表现力的语音。 一、基本原理 讯飞智作 AI 配音的 NLP 技术主要包…...

wxWidgets生成HTML文件,带图片转base64数据

编译环境大家可以看我之前的文章,CodeBlocks + msys2 + wx3.2,win10 这里功能就是生成HTML文件,没用HTML库,因为是自己固定的格式,图片是一个vector,可以动态改变数量的。 效果如下: #include <wx/string.h> #include <wx/file.h> #include <wx/ima…...

python开发:爬虫示例——GET和POST请求处理

一、Get请求 import json import requests#输入示例&#xff1a;urlhttps://www.baidu.com #RequestHeader:F12标头-请求标头-原始-复制到这&#xff08;忽略第一句&#xff09; def GetRequest(url,RequestHeader""):try:dic{}RequestHeaderList RequestHeader.s…...