python将excel数据写入数据库,或从库中读取出来

2023-12-15 07:50

本文主要是介绍python将excel数据写入数据库,或从库中读取出来,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先介绍一下SQL数据库的一些基本操作:

1创建 2删除 3写入 4更新(修改) 5条件选择

有了以上基本操作,就可以建立并存储一个简单的数据库了。

 

放出python调用的代码: 此处是调用dos 操作数据库 不如下面的简单

# -*- coding: utf-8 -*-
"""
Created on Mon May  6 09:59:32 2019@author: wenzhe.tian
"""import MySQLdb# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "twz1478963", "TESTDB", charset='utf8' )  
# 使用cursor()方法获取操作游标 
cursor = db.cursor()# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
print(cursor.fetchone())
cursor.execute("SELECT VERSION()")# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (FIRST_NAME  CHAR(20) NOT NULL,LAST_NAME  CHAR(20),AGE INT,  SEX CHAR(1),INCOME FLOAT );"""cursor.execute(sql)### %\ 替换
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \LAST_NAME, AGE, SEX, INCOME) \VALUES (%s, %s, %s, %s, %s );" % \("'Mac'", "'Mohan'", 20, "'M'", 9000)try:# 执行sql语句
   cursor.execute(sql)print(cursor.fetchone())# 提交到数据库执行
   db.commit()
except:# Rollback in case there is any error
   db.rollback()### %\ 替换
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \LAST_NAME, AGE, SEX, INCOME) \VALUES (%s, %s, %s, %s, %s );" % \("'John'", "'Will'", 24, "'M'", 12000)try:# 执行sql语句
   cursor.execute(sql)print(cursor.fetchone())# 提交到数据库执行
   db.commit()
except:# Rollback in case there is any error
   db.rollback()sql = "SELECT * FROM EMPLOYEE \WHERE first_name like %s" % ("'%h_'");'''
WHERE A and/or B between in(A,B)
% 表示多个字值,_ 下划线表示一个字符;
M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
%M% : 表示查询包含M的所有内容。
%M_ : 表示查询以M在倒数第二位的所有内容
'''# DELETE FROM EMPLOYEE WHERE AGE <20       try:# 执行SQL语句
   cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()for row in results:fname = row[0]lname = row[1]age = row[2]sex = row[3]income = row[4]# 打印结果print ("fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \(fname, lname, age, sex, income ))
except:print ("Error: unable to fecth data")# 关闭数据库连接
db.close()
View Code

 

以上代码即将SQL语言写出字符的形式 并调用接口执行操作。

下面放一些存储excel至新建数据库的例子作为参考: 此处是调用dataframe的to_sql进行操作 需要注意的是encoding='gbk'的中文转化问题.

写入数据库时 表单名字不需要提前创建。

# -*- coding: utf-8 -*-
"""
Created on Tue May  7 15:40:23 2019@author: wenzhe.tian
"""from sqlalchemy import create_engine
import pandas as pdhost = '127.0.0.1'
port= 3306
db = 'beilixinyuan'
user = 'root'
password = 'twz1478963'engine = create_engine(str(r"mysql+mysqldb://%s:" + '%s' + "@%s/%s?charset=utf8") % (user, password, host, db))try:
#   df = pd.read_csv(r'D:\2PHEV_v3.csv',encoding='gbk')
#   读取  table='sale_phev'sql = "SELECT * FROM "+'%s' %(table)df=pd.read_sql(sql,con=engine)
#    写入
#    df.to_sql('sale_ev', con=engine, if_exists='append', index=False)
except Exception as e:print(e.message)# 导出方法2
#'''
#WHERE A and/or B between in(A,B)
#% 表示多个字值,_ 下划线表示一个字符;
#M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
#%M% : 表示查询包含M的所有内容。
#%M_ : 表示查询以M在倒数第二位的所有内容
#'''
#
#
#
import MySQLdb
import pandas as pd
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "twz1478963", "beilixinyuan", charset='utf8' )  
# 使用cursor()方法获取操作游标 
cursor = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)sql = "SELECT * FROM sale_ev"# DELETE FROM EMPLOYEE WHERE AGE <20       try:# 执行SQL语句
   cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()pd.read_sql(sql,con=engine)except:print ("Error: unable to fecth data")h=list(results)
df=pd.DataFrame(h)
del results
del h
View Code

 

转载于:https://www.cnblogs.com/techs-wenzhe/p/10819289.html

这篇关于python将excel数据写入数据库,或从库中读取出来的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/495686

相关文章

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

详解如何使用Python提取视频文件中的音频

《详解如何使用Python提取视频文件中的音频》在多媒体处理中,有时我们需要从视频文件中提取音频,本文为大家整理了几种使用Python编程语言提取视频文件中的音频的方法,大家可以根据需要进行选择... 目录引言代码部分方法扩展引言在多媒体处理中,有时我们需要从视频文件中提取音频,以便进一步处理或分析。本文

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架