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实现中文分词FMM算法实例
Jul 10 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
Django如何自定义分页
Sep 25 Python
python绘制多个曲线的折线图
Mar 23 Python
python3.7 的新特性详解
Jul 25 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
Python机器学习三大件之一numpy
May 10 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
python实现MD5进行文件去重的示例代码
Jul 09 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
PHP中str_replace函数使用小结
2008/10/11 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
JS求平均值的小例子
2013/11/29 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
用python实现的线程池实例代码
2018/01/06 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python中web框架的自定义创建
2019/09/08 Python
python getpass模块用法及实例详解
2019/10/07 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
敬老院院长事迹材料
2014/05/21 职场文书
低碳环保口号
2014/06/12 职场文书
法学专业求职信范文
2015/03/19 职场文书
电影圆明园观后感
2015/06/03 职场文书
宣传稿格式范文
2015/07/23 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript