一、操作mysql数据库

import pymysql

# 1.连上数据库:账号,密码,ip,端口号,数据库

# 2.建立游标(去数据库拿东西的工人)

# 3.执行sql

# 4.获取结果

# 5.关闭游标

# 6.连接关闭

coon = pymysql.connect(

host='xxx.xxx.xxx.xxx',user='xxx',passwd='123456',port=3306,db='xxx',charset='utf8')  ##port必须是int类型,charset必须是utf8,而不是utf-8

cur = coon.cursor()  #建立游标

cur.execute('select * from stu;')

cur.execute('insert into stu (id,name,sex) value (33,"6j","女")')

coon.commit()  ##必须要commit

res = cur.fetchall() #获取所有返回的结果

print(res)

cur.close()  #关闭游标

coon.close()  #关闭数据库

定义数据库函数

 def my_db(host,user,passwd,db,sql,port=3306,charset='utf-8'):

     import pymysql

     coon =pymysql.connect(

         user=user,passwd=passwd,host=host,port=port,

         db=db,charset=charset

     )

     cur = coon.cursor()

     cur.execute(sql)

     if sql.strip()[:6].upper()=='SELECT':

         res = cur.fetchall()

     else:

         coon.commit()

         res = 'OK'

     cur.close()

     coon.close()

     return res

Tips:

1. 可以这样定义变量:一次性的定义多个变量

2. 操作数据库执行sql时,如果查询条件是字符串,先用占位符%s占位,然后在后面写上字符串,如下所示:

res = my_db('select password from liujing where username = "%s" and password = "%s";'%(username_login,m_pwd_login))

3. 指定sql返回结果是字典类型:建立游标的时候,可以指定游标类型返回的就是一个字典。mydb返回的是一个list,list内容是字典。

cur = coon.cursor(cursor=pymysql.cursors.DicCursor)

4. fetchall()  #获取到这个sql执行的全部结果,它把数据库表里面的每一行数据放到一个list里面

fetchone() #  获取到这个sql执行的一条结果,它返回的就只有一条数据

如果sql语句执行的结果是多条数据的时候,那就用fetchall()

如果你能确定sql执行的结果是一条数据的时候,那就用fetchone()

5. 要动态获取到标的字段 cur.descrption能获取到表结构,进而获取表的字段

fileds = [filed[0] for filed in cur.description]

6.enumerate([list,list2])  #循环的时候,能够直接获取到下标和该下标所代表的值

fileds = ['id','name','sex','addr','gold','score']

for index,filed in enumerate(fileds):

print(index,filed)    #index在循环的时候会自动加一

  

二、操作excel

写excel

 import xlwt

 book = xlwt.Workbook() #新建一个excel

 sheet = book.add_sheet('sheet1') # 加sheet页

 sheet.write(0,0,'姓名')  #第一行,第一列,写入的内容

 sheet.write(0,1,'年龄')  #第一行,第二列,写入的内容

 sheet.write(0,2,'性别')  #第一行,第三列,写入的内容

 book.save('stu.xls')  #结尾一定要用xls

读excel

 import xlrd
book = xlrd.open_workbook('app_student.xls') #打开excel
sheet = book.sheet_by_index(0) #根据sheet页的顺序选择sheet页
sheet2 = book.sheet_by_name('sheet1') #根据sheet页名称选择sheet页
print(sheet.cell(0,0).value) #获取sheet页里面第一行第一列的值
print(sheet.cell(1,0).value) #获取sheet页里面第二行第一列的值
print(sheet.row_values(0)) #获取第一行一整行的内容,放到了list里面
print(sheet.row_values(1)) #获取第二行一整行的内容,放到了list里面
print(sheet.nrows) #获取excel中共有多少行
for i in range(sheet.nrows): ##循环获取到每行的数据
print(sheet.row_values(i)) ##打印每一行的数据
print(sheet.ncols) #获取excel里面总共有多少列
print(sheet.col_values(0))#获取一整列的内容,放到了list里面
for i in range(sheet.ncols):##循环获取到每列的数据
print(sheet.col_values(i)) #打印每一列的数据

修改excel

 import xlrd
from xlutils import copy
book = xlrd.open_workbook('app_student.xls') #先用xlrd模块,打开一个excel
new_book = copy.copy(book) #通过xlutils这个模块里面的copy方法,复制一个excel
sheet = new_book.get_sheet(0) #通过sheet页的先后获取某sheet页 ##将app_student.xls的字段名称改为lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']里面的字段名称
# sheet.write(0,0,'编号') #如果字段很多的话,这样写需要很多行代码
# sheet.write(0,1,'名字')
lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']
# col=0
# for l in lis:
# sheet.write(0,col,l)
# col+=1
for col,filed in enumerate(lis):
sheet.write(0,col,filed)
new_book.save('app_student.xls')

Python学习笔记_Mysql数据库、Excel的更多相关文章

  1. python学习笔记——mongodb数据库

    1 概述 1.1 文件管理阶段 优点:可以长期保存 能存储大量数据 缺点:没有结构化的组织 查找不方便 数据容易冗余 1.2 数据库管理阶段 有文件存储的优点,同时解决了文件存储的问题 缺点 : 操作 ...

  2. Python学习笔记020——数据库基本操作

    本数据库的操作是Linux虚拟机平台下进行的 1 启动和链接MySQL服务 1.1 服务端 (1)查看服务状态 sudo /etc/init.d/mysql stauts (2)启动服务端 sudo ...

  3. Python学习笔记020——数据库知识概述

    数据库概述 1 提供数据库的软件都有哪些 MySQL.SQL_Server.Oracle.DB2.Mariadb.MongoDB ... (1)是否开源 开源软件:MySQL.Mariadb.Mong ...

  4. Python学习笔记_读Excel去重

    读取一个Excel文件,按照某列关键字,如果有重复则去掉 这里不介绍所有的解决办法,只是列出一个办法. 软件环境: OS:Win10 64位 Python 3.7 测试路径:D:\Work\Pytho ...

  5. Python学习笔记_Python向Excel写入数据

    实验环境 1.OS:Win 10 64位 2.Python 3.7 3.如果没有安装xlwt库,则安装:pip install xlwt 下面是从网上找到的一段代码,网上这段代码,看首行注释行,是在L ...

  6. Python学习笔记_操作Excel

    Python 操作Exel,涉及下面几个库: 1.xlrd 读取Excel文件 2.xlwt 向Excel文件写入,并设置格式 3.xlutils 一组Excel高级操作工具,需要先安装xlrd和xl ...

  7. Python学习笔记 使用数据库SQlite Mysql

    SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用当中, 甚至在IOS和Android的APP中都可以集成 Python就内 ...

  8. 10 python学习笔记-操作数据库(十)

    在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...

  9. Python学习笔记:读取Excel的xlrd模块

    一.安装xlrd 可以使用命令行安装也可使用pycharm进行安装 表示xlrd库已经安装成功,安装成功后,我们就可以导入使用了. 二.xlrd说明 (1.单元格常用的数据类型包括 0:empty(空 ...

随机推荐

  1. 顿悟:Linux是拿来用的,不是拿来折腾的

    Linux是拿来用的,而不是折腾其本身.相信这个道理不少聪明人(实用主义者)都明白,然而总是有那么一群人拿Linux去安装各种发行版.研究Linux命令.配置桌面.美化桌面.研究各种wm/DE.永无止 ...

  2. P1067 多项式输出 (模拟)

    题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_i x^i 称为i次项,ai​ 称为i次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 多项式中自变量 ...

  3. P2007 魔方

    洛谷——P2007 魔方 题目背景 常神牛从来没接触过魔方,所以他要借助计算机来玩.即使是这样,他还是很菜. 题目描述 常神牛家的魔方都是3*3*3的三阶魔方,大家都见过. (更正:3 4以图为准.) ...

  4. java通过反射获取bean字段注解@Column中的信息

    直接上代码吧: Field field; Field[] fields=clas.getDeclaredFields(); for (int i = 0; i <fields.length ; ...

  5. centos6.5编译安装gearmand Job Server(C)

    1)下载安装包: wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz 2)安装编译器: yu ...

  6. java之 ------ 文件的输入、输出(一)

    import java.io.*; public class IntFile { private String filename; public IntFile(String filename) { ...

  7. C#代码调用页面javascript函数

    C#代码调用javascript函数   前台<%@ Page Language="C#" AutoEventWireup="true" CodeFile ...

  8. 浅谈Heatmap

    在自然界之中,蛇的眼睛有夜视功能,即便是茫茫黑夜,它也能轻而易举的找到猎物,这是因为任何物体都会辐射热红外,且辐射的高低和温度成正比,由于生命体的体温会明显高于周围环境的温度,所以在蛇眼面前便无处遁形 ...

  9. BUPT 2012复试机考 4T

    题目描述 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节.传输层的TCP协议数据段的头部格式如下:  ...

  10. Mac装Win10后没有无线网络的处理

    在“文件资源管理器”中找到“此电脑”,打开,看到“设备与驱动管理器”,找到Bootcamp文件夹,点击进入,运行setup,之后重启就好了.