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 list中append()与extend()用法分享
Mar 24 Python
python文件和目录操作函数小结
Jul 11 Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
Python字符串处理函数简明总结
Apr 13 Python
Django中提供的6种缓存方式详解
Aug 05 Python
pymysql的简单封装代码实例
Jan 08 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
Django实现将views.py中的数据传递到前端html页面,并展示
Mar 16 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
python数据分析之用sklearn预测糖尿病
Apr 22 Python
python画条形图的具体代码
Apr 20 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生成静态HTML页面最简单方法示例
2015/04/09 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
js 分栏效果实现代码
2009/08/29 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
利用yarn实现一个webpack+react种子
2016/10/25 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
python自动格式化json文件的方法
2015/03/11 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
python常见排序算法基础教程
2017/04/13 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
简单了解python模块概念
2018/01/11 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
公司年会演讲稿范文
2014/01/11 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript