python 读取excel文件生成sql文件实例详解


Posted in Python onMay 12, 2017

python 读取excel文件生成sql文件实例详解

学了python这么久,总算是在工作中用到一次。这次是为了从excel文件中读取数据然后写入到数据库中。这个逻辑用java来写的话就太重了,所以这次考虑通过python脚本来实现。

在此之前需要给python添加一个xlrd模块,这个模块是专门用来操作excel文件的。

在mac中可以通过easy_install xlrd命令实现自动安装模块

import xdrlib ,sys
import xlrd
def open_excel(file= a.xlsx'):
  try:
    data = xlrd.open_workbook(file)#打开excel文件
    return data
  except Exception,e:
    print str(e)

def excel_table_bycol(file='a.xlsx',colindex=[0],table_name='Sheet1'):
  data = open_excel(file)
  table = data.sheet_by_name(table_name)#获取excel里面的某一页
  nrows = table.nrows#获取行数
  colnames = table.row_values(0)#获取第一行的值,作为key来使用,对于不同的excel文件可以进行调整
  list = []
  #(1,nrows)表示取第一行以后的行,因为第一行往往是表头
  for rownum in range(1,nrows):
     row = table.row_values(rownum)
     if row:
       app = {}
       for i in colindex:
          app[str(colnames[i]).encode("utf-8")] = str(row[i]).encode("utf-8")#将数据填入一个字典中,同时对数据进行utf-8转码,因为有些数据是unicode编码的
       list.append(app)#将字典加入列表中去
  return list
def main():
  #colindex是一个数组,用来选择读取哪一列,因为往往excel中的一小部分才是我们需要的
  tables = excel_table_bycol(colindex=[1,4],table_name=u'areaCode')
  file = open('channel_area_code.sql','w')#创建sql文件,并开启写模式
  for row in tables:
    if row['area_code'] != '':
        file.write("update table_name set para1='%s' where para2='%s';\n"%(row['para1'],row['para2']))#往文件里写入sql语句
if __name__=="__main__":
  main()

这并非是一个通用的python脚本,还是需要根据excel文件的格式作出一些调整,但是代码并不复杂,开发速度也很快,比以前用java是轻松多了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python 的类、继承和多态详解
Jul 16 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
python对文件目录的操作方法实例总结
Jun 24 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
OpenCV 之按位运算举例解析
Jun 19 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
python爬虫快速响应服务器的做法
Nov 24 Python
Python实现读取并保存文件的类
May 11 #Python
Python使用defaultdict读取文件各列的方法
May 11 #Python
python中nan与inf转为特定数字方法示例
May 11 #Python
Python和C/C++交互的几种方法总结
May 11 #Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 #Python
详解Python读取配置文件模块ConfigParser
May 11 #Python
python如何获取服务器硬件信息
May 11 #Python
You might like
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
pygame实现打字游戏
2021/02/19 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Python3爬虫中关于中文分词的详解
2020/07/29 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
出纳的岗位职责
2013/11/09 职场文书
优秀中专生推荐信
2013/11/17 职场文书
企业金融服务方案
2014/06/03 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
九一八事变演讲稿
2014/09/05 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
赞助商致辞
2015/07/30 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
vue引入Excel表格插件的方法
2021/04/28 Vue.js