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 相关文章推荐
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
Python实现堆排序的方法详解
May 03 Python
基于python socketserver框架全面解析
Sep 21 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
python Django 反向访问器的外键冲突解决
May 20 Python
浅谈Python中的字符串
Jun 10 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
python scipy 稀疏矩阵的使用说明
May 26 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
php 页面执行时间计算代码
2008/12/04 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
瑜伽国际:Yoga International
2018/04/18 全球购物
工程地质勘察专业大学生求职信
2013/10/13 职场文书
农场厂长岗位职责
2013/12/28 职场文书
项目建议书范文
2014/05/12 职场文书
假面舞会策划方案
2014/05/29 职场文书
安全责任书范文
2014/08/25 职场文书
个人租房协议书
2014/11/28 职场文书
降价通知函
2015/04/23 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
解决xampp安装后Apache无法启动
2022/03/21 Servers
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android