php调用python脚本快速读取excel_2 个简单的 python 脚本,连接 MySQL 和读取 Excel

python脚本

第一次写博客,已经工作一年半了,从事PHP后端,最近尝试新语言,换换胃口,看了看go和python,最后选择了python。刚好上周遇到读取excel,编写sql导入数据库的工作,尝试写个脚本。下次就不用重复写了。

运行环境:

python 3.8.1

windows 7

一。连接mysql

连接mysql有很多种方式:pymysql mysql-connector mysqldb。之前看到的一篇性能分析上,非ORM操作mysqldb性能最佳,ORM操作mysql-connector性能最佳。脚本暂时不涉及性能方面的问题,就选择了pymysql。

安装依赖库

pip3 install PyMySQL

脚本

import pymysql

def runSql(sql):

db = pymysql.connect(host="127.0.0.1",

port=3306,

user="test",

password="test",

db="test",

charset="utf8")

#这个是控制返回的数据结构为字典的,即把数据表里的字段名作为key返回

# cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

cursor = db.cursor()

try:

cursor.execute(sql)

results = cursor.fetchall()

except:

print("error")

db.close()

return results

#pip3 install PyMySQL

二. 读取excel

python 对excel的处理有xlrd/xlwt与openpyxl ,查阅的性能分析结果是,对大文件的处理xlrd/xlwt性能更高,暂时对性能分析没有深入接触,没有遇到性能瓶颈,脚本暂时不考虑这些,这里使用xlrd/xlwt。

安装依赖库

pip3 install xlrd

脚本

import xlrd

table = xlrd.open_workbook(r'C:.sers.dministrator.esktop.ead.xlsx')

sheet = table.sheet_by_name('Sheet1') # 根据名字取表单

nrows = sheet.nrows # 获取行数

line = 1

while line < nrows:

a = sheet.cell(line, 1).value

b = sheet.cell(line, 2).value

line += 1

其他相关方法

name = table.sheet_names() # 获得所有表单的名字

ncols = sheet.ncols # 获取列数

结语

上面的2个依赖库里还有很多的方法,这里暂时没有用到,下次用到再补充。

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值