近日在自学python3,选择python,是由于它命令比较简单,语法也不算复杂,对我来说,要实现的功能用100行语句就能够实现。另外,一个原因,它是脚本形式的,调试比较方便,对我这些有很长时间没有写程序的,拿起来就可以用。

在选择python版本上,看了不少帖子,2和3的语法等有不少不兼容的地方,可以说习惯了版本2的,到版本3还要花一些时间熟悉语法,所以我就直接学版本3的了,最终还是选择了最新版3.41,毕竟是新版,官网上也表示2.7是旧版,不再旧版的基础上升级的。

下载python3.41到官网:https://www.python.org上直接下载就可以了,链接:https://www.python.org/downloads/release/python-341/

上面有对应各操作系统的安装包,我下的是“Windows x86 MSI installer”, 对应的是windows 32位操作系统。

下载后双击即可安装,如果你没有特殊要求,如安装在那个文件夹等,直接全部“下一步”就可以完成,很简单。

怎样运行python自带的IDE环境网上很多资料,我就不罗嗦了。下面讲讲选择和安装第三方库的安装和使用:

我写程序要实现的功能之一是连接数据库SQL Server,读取某个表的数据,python默认安装好像没有支持数据库的功能,需要下载第三方支持库,在网找花了点时间,主要是有些网站被墙了,下不到最新版的库,旧版的又不一定不支持python3,下了pyodbc,pypyodbc,开始还不知道是不同的两个库,还以为是手误多打了两个字母,都安装了,发现pypyodbc使用很方便,建议安装pypyodbc这个。下载链接:https://pypi.python.org/pypi/pypyodbc

两者的性能差异不了解,我要实现的功能比较简单,只需连接SQL Server,读取几个数据,每天读取,写入表格。所以性能差别可以忽略,如果有大量数据流的,应自己试试读写数据库性能的差异,再作选择。

import pypyodbc 
conn = pypyodbc.connect('''DRIVER={SQL Server};SERVER=1.1.1.1;DATABASE=dbname;UID=user;PWD=passwd''')
cur = conn.cursor()

SQL="SELECT * FROM abc where field=123 "
cur.execute(SQL) 
data=cur.fetchone()

用一句命令就可以连上数据库,可不必编辑系统ODBC。

注入sql语句后就可以读取数据了。

下面是excel文件的数据写入: 这也是需要下载第三方库的支持,在网上找了好几个第三方库,xlsxwriter\xlrd\xlwt\openpyxl,都安装了,其中前面3个都不可以对现有的excel文件进行编辑,也就是不能在现有表格中填入数据并保存,经过测试才知道,只有openpyxl可以对现有文件进行编辑,在这走了不少弯路,是因为本人e文太滥了,文档没有仔细阅读,其实文档也不好找,很多内容在谷哥上面,网慢啊,大家都知道原因的,想看外面的代码真不容易。

回到正题,采用这种方式是由于我们需要在一张已编辑好的excel表格上填几个数据就可以打印,这样就不必对复杂的表格进行开发,拿来即可用,这也是懒惰的一种体现。第一次安装openpjxl时会出错,提示缺少一个组件,jdcal,先安装这个jdcal后再安装openpyxl就成功了,其实这个jdcal有什么用我不了解,不知道为什么不集成到openpyxl库内,就几十k的一个包,安装这些库的方法都很简单,把下载的第三方库解包后在该目录下运行 setup.py install 就可以了。

安装完以上第三方库以后就可以写代码了。这些第三方库都很好找,可很多都在谷哥上,不好连,大家给点耐性。

import openpyxl
workbook = openpyxl.load_workbook(filename = 'my.xlsx')

sheet1=workbook['sheet1']

sheet1['B2'].value='data'

这次就写到这里,初学者,有什么不对的,请多包涵。

自学python3随笔--连接数据库和写EXCEL文件实现的更多相关文章

  1. 使用Python xlwt写excel文件

    如果需要使用Python写Excel文件,首先下载或者安装xlwt. pip install xlwt 下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件: 创建工作簿(work ...

  2. 在Delphi中通过OLE方式写Excel文件

    报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...

  3. Python3 读、写Excel文件

    首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). 一个工作簿就是一个独立的文件 一个工作簿里面可以有1 ...

  4. python3 写excel文件 xlsxwriter模块

    之前一直用这个传说中可以让python飞起来的xlwings模块来写入excel文件,今天发现xlsxwriter模块,发现这才是飞起来的feel!! 使用体验对比: xlwings:写入7000+单 ...

  5. Python小实验——读&写Excel文件内容

    安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...

  6. python读、写、修改、追写excel文件

    三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...

  7. Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现

    以前用jxl.jar包,读写过Excel文件.也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽. 注意,这个只是基本可以实现,基本针对中 ...

  8. JAVA读、写EXCEL文件

    採用jxl.jar包,网上下载,百度一下到出都是.希望能够帮助到大家. 接下来直接贴代码: <span style="font-size:18px;"> public ...

  9. Python3.7 比较两个Excel文件指定列的值的异同,并将核对结果写入Excel中(含升级版本)

    背景: 最近工作中需要核对客户的历史数据, 接近400个产品,需要核对的列有15列,行数有8000+行 肉眼核对简直要吐血 心想着反正在学python呢 人生苦短 何不用python写个脚本 帮助我核 ...

随机推荐

  1. 有关define定义函数所注意的实例

    #define SQR(x) x*x int m=1,k=2; a=SQR(k+m)/SQR(k+m); a=k+m*k+m/k+m*k+m; a=2+1×2+1/2+1×2+1=7.5 #defin ...

  2. 记录并分享一下安卓通讯录导入到IPhone

    仅仅记录一下我自己的步骤: 前提:我开始用的是诺基亚1202,黑白屏的功能机: 1.将卡放到安卓手机里面,用应用宝导出全部联系人为VCF后缀文件: 2.下载ITools,用它连接IPhone,导入到I ...

  3. OS实验报告——作业调度模拟程序

    一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行, ...

  4. jquery设置下拉菜单

    jQuery代码 1,引用jQuery库 2,show方法 3,hide方法 <script type="text/javascript"> $function(){ ...

  5. 获取贴图及IES文件

    最近看了一下以前写的关于收集贴图的函数...又完善了一下,老链接:http://www.cnblogs.com/3dxy/p/3988751.html fn saveusedmaps spath se ...

  6. 【原创】刚刚发现的SVN的几个有用的功能

    一.可看到一个文件/目录跨Branch的所有变更历程 二.SVN可自动利用Word2013的审阅功能对比docx文档

  7. tomcat war部署根目录下

    一个很取巧的办法,步骤如下: 1. 删除webapp下所有文件 cd ${TOMAT_HOME}/webapps && rm -rf * 2. copy待部署war到webapps目录 ...

  8. .NET微信开发通过Access Token和OpenID获取用户信息

    本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言. 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息 ...

  9. Kubernetes系统架构简介

    1. 前言 Together we will ensure that Kubernetes is a strong and open container management framework fo ...

  10. 关于页面里没有id属性的Javascript上的解决办法

    如果页面上只有Textarea,可以用如下方法来遍历其name属性然后赋给id属性:<script> try{ window.onload = setTextAreaIds();setTe ...