近日在自学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. RAF(RandomAccessFile)类

    作用:读取文件 /** * */ package com.io.file; import java.io.File; import java.io.IOException; import java.i ...

  2. 优先队列 :Priority Queue

    PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆的极大优先级队列.优先级队列是不同于先进先出队列的另一种队列. 每次从队列中取出的是具有最高优先权的元素.如果 ...

  3. API测试

    API(Application Programming Interface)包含: 单元测试(Unit Testing).模块测试(Module Testing).组件测试(Component Tes ...

  4. get_headers()函数

    get_headers() 是PHP系统级函数,他返回一个包含有服务器响应一个 HTTP 请求所发送的标头的数组.如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断 ...

  5. CE创建进程和线程

    创建进程: HWND hWnd = NULL; PROCESS_INFORMATION pi = {}; if(NULL==hWnd) { hWnd=FindWindow(NULL,_T(" ...

  6. python socket

    #!/usr/bin/env python import sys import time import socket s = socket.fromfd(sys.stdin.fileno(),sock ...

  7. 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象

    使用 dynamic 标记解析JSON字符串  http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...

  8. notepad++

    plugin-manager 先要保证plugin-manager是最新的,然后才能下载其它的插件进行安装. compare插件,文件对比工具

  9. 深入理解CSS中的层叠上下文和层叠顺序(转)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...

  10. css布局课件

    1.什么是CSS盒模型 我们的网页就是通过一个一个盒子组成的. 2.一个盒子拥有的属性:宽和高(width和height).内边距(padding).边框(border).外边距(margin) wi ...