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 读取excel文件生成sql文件实例详解

本文地址: http://www.cppcns.com/jiaoben/python/190600.html

python生成表格文件_python 读取excel文件生成sql文件实例详解相关推荐

  1. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  2. python绘制表格界面_python 读取 excel 生成 html 页面

    前言 有天老板找我到办公室跟我说要做一个商城,商城卖出去东西就有佣金可以拿.我听着就头大.老板打开电脑给我看了网站:你看一下这个网站,照着它的流程就可以拥有一个商城了.我靠过去一看,大概了解一下:原来 ...

  3. python中sys用法_Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...

  4. python队列怎么用_Python队列的定义与使用方法实例详解

    这篇文章主要介绍了Python队列的定义与使用方法,结合具体实例形式分析了Python定义及使用队列的具体操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了Python队列的定义与使用方法.分享 ...

  5. python实战经典例子_Python基础之列表常见操作经典实例详解

    本文实例讲述了Python基础之列表常见操作.分享给大家供大家参考,具体如下: Python中的列表操作 列表是Python中使用最频繁的数据类型[可以说没有之一] 一组有序项目的集合 可变的数据类型 ...

  6. python读excel表格数据绘制图表_Python读取Excel数据生成图表 v2.0

    原博文 2020-06-15 15:09 − ## Python读取Excel数据生成图表 v2.0 ## 一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用 ...

  7. python提取excel前十行生成图_Python读取Excel数据生成图表 v2.0

    Python读取Excel数据生成图表 v2.0 一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用Excel实现的.但数据行多后,图表大小调整总是不太方便, ...

  8. python爬虫beautifulsoup爬当当网_Python爬虫包 BeautifulSoup 递归抓取实例详解_python_脚本之家...

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到 ...

  9. python之33个关键字详解_Python解析、提取url关键字的实例详解

    解析url用的类库: python2版本: from urlparse import urlparse import urllib python3版本: from urllib.parse impor ...

最新文章

  1. TVM开发三个示例分析
  2. Request对象 --web浏览器向web服务端的请求
  3. PHP使用for循环打出星号表格,console - JavaScript中,使用for循环输出如下图形(等腰三角形,和平行四边形)?原理是啥?...
  4. CentOS7.2 network.service NetworkManager.service 冲突
  5. 2015中国银联业务(武汉)面试经验(软件开发)
  6. avformat_open_input 支持的参数
  7. 计算机四级网络工程师等级考试题库软件---百度云分享
  8. 机器学习实战——3.4 示例:使用决策树预测隐形眼镜类型
  9. c++17好用的新特性总结
  10. 芒果超媒前三季营收102亿:同比降12% 互联网广告收入降26%
  11. 中小型企业网络规划设计方案_深圳线尚网络:中小型企业网站建设方案包含哪些内容?...
  12. 矩阵微分与向量函数Taylor展开
  13. android 8.1 夜间模式,android 快速实现夜间模式
  14. (OpenCV+Python)--目标跟踪,卡尔曼滤波+鼠标轨迹跟踪
  15. 房产管理系统CAD图形管理应用有哪些?
  16. 内存对齐是什么?为什么要内存对齐?
  17. 3小时脱销!!!《我真有绝招》项目要点揭露!值得每个做游戏的玩家学习!...
  18. CentOS 8.2云服务器定时运行脚本
  19. Acer Predator PT715 Quanta ZGL REV3A笔记本电路原理图纸
  20. 如何成为数据分析师系列(二):可视化图表进阶

热门文章

  1. 小样本学习 few-shot learning
  2. python udp client
  3. yolo类检测算法解析——yolo v3
  4. Cannot load libmkl_avx.so or libmkl_def.so
  5. Day 02 你最爱的交通方式
  6. vue的自定义标签tag是什么意思啊_好好的衣服为什么洗一次就废,服装标签上的图标究竟是什么意思?...
  7. Android中与Intent相关的还有,Android中Intent的相关用法
  8. 小程序provisional headers are shown_万圣节~英语早教绘本Five Little Pumpkins五个小南瓜...
  9. 卷积神经网络matlab_基于卷积神经网络的遥感图像养殖区自动划分
  10. webhook php自动部署,git利用webhook实现自动部署​