python操作数据库+csv+excel

python操作数据库+csv+excel_第1张图片

一、导入pymysql库+连接自己创建的账户(推荐是子账户)

# 导入库
import pymysql
from pymysql.cursors import Cursor
# 连接账户
conn=pymysql.connect(host='xx.xx.xx.xx',port=3306,user='xxx',password='xxx',database='选择操纵的数据库名',charset='utf8mb4')

二、事务操控和给mysql发送指令

try:
	#获取游标对象
	with conn.cursor() as cursor:
		cursor.excuteO('mysql指令')
		#这里要注意,插入数据或更改要用安全字符,防止注射攻击数据库,然后这个指令是一元组,需要加','
		安全字符使用比如这里:
		'''
		affected_rows = cursor.execute(
            'insert into tb_dept(dno,dname,dloc) values (%s,%s,%s)',
            (no,name,location)
        )
		'''
		#判断是是否成功
		'''
		判断 增删查改
		print('漂亮' if affected_rows == 1 else '完蛋')
		'''
		#select获取数据:读取cursor内容
		print(cursor.fetchall())
        print(cursor.fetchone())
        #读取三条
        print(cursor.fetchmany(2))
        # 这里只是给三种方法读取,但实际中,他是游标,类似于迭代器,读一个少一个

#回滚,如果程序没错就提交,没有成功就滚回
	conn.commit()
except pymysql.MySQLError as err:
    print(err)
    conn.rollback()
finally:
    # 第五步:关闭连接,释放资源,这里无论如何都会发生
    conn.close()		

python操作数据库+csv+excel_第2张图片

三、csv操纵

# 读取操作
f=open('file/nice.csv','r',encoding='utf-8',newline='')
reader=csv.DictReader(f)
reader获取文件内容,每一行都作为一个迭代器返回
print(next(reader))
print(list(reader))
f.close()

#写操作
f=open('file/nice.csv','w',encoding='utf-8',newljne='')
w=csv.writer(f)
#写一行
w.writerow(['姓名', '年龄', '性别', '电话'])
#写多行
w.writerows([
	['小花', 20, '女', '120']
	['张三', 30, '男', '119']
])

四操纵excel

#导入创建表或者加载表的库
from openyxl import Workbook,load_workbook
wb=Workbook()

#创建表
wb.create_sheet('一个表'0) #插入表名,插入位置,可以不写,默认添加在后面

#查看已存在的表名
sheetlist=wb.sheetnames
print(sheetlist)

#打开上一次最后操作的表
sheet1=wb.active
#选择指定表
sheet2=wb['一年级一班']

#查看或插入值
print(sheet1.cell(1, 1).value)
sheet1.cell(1,1).value='姓名'

#删除已存在的表
wb.remove_sheet(wb['sheet'])

#修改表名
sheet.title='okok'

#保存文件
wb.save('cjb.xlsx')

你可能感兴趣的:(关系型数据库SQL,python,数据库,excel)