近日在自学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. 【转】JavaScript获取节点类型、节点名称和节点值

    DOM节点信息包括节点类型(nodeType).节点名称(nodeName)和节点值(nodeValue). 节点类型 DOM节点中,每个节点都拥有不同的类型.W3C规范中常用的 DOM节点类型有以下 ...

  2. ipython安装

    sudo pip install jupyter 然后用jupyter notebook来运行

  3. vs增加第三方依赖库的方法总结

    转自http://blog.csdn.net/raodotcong/article/details/8998379 先说说普通的两种方法: 方法1:  通过设置工程配置来添加lib库. 转自网上: A ...

  4. js 测试

    今天js测试题目: 被基础题目虐暴......惨不忍睹 1. var num = 2; switch(num){ case 1: console.log("1"); case 2: ...

  5. 在Mac上使用vim的几个命令

    Mac上面编辑文件的命令总是记不住,留一个参考!!! 如果是vim,则:Esc 退出编辑模式,输入以下命令: :wq  保存后退出vi,若为 :wq! 则为强制储存后退出(常用) :w    保存但不 ...

  6. #uwp# XMAL

    类型转换 在xaml中对属性赋值时,会将填入的字符串转换成对应的属性类型.比如: <Button Visibility="Visible" /> 会将Visible这个 ...

  7. ORA-00907: 缺失右括号 整理解决

    ORA-00907: 缺失右括号 前言 最近在开发过程中使用oracle数据库,在程序中进行查询数据时遇到了“ORA-00907: 缺失右括号”的问题,但是如果直接把sql语句直接在数据库或PL/SQ ...

  8. 基于服务(Web Service)的文件管理Winform客户端实现(二)

    上一篇主要介绍文件管理服务有哪些方法,实现了哪些功能. 基于服务(Web Service)的文件管理Winform客户端实现(一) 本篇将根据文件服务服务实现Winform客户端设计.开发. 3.   ...

  9. 【转】JSch - Java实现的SFTP(文件下载详解篇)

    上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch实现文件下载的功能.并介绍一些SFTP的辅助方法,如cd,ls等.   同样,JSch的文件下载也支持三种传输模式:OVERWRI ...

  10. 给破坏性的Rake任务加把锁 | Rails

    抄自这里 直接贴代码 # lib/tasks/skip_prod.rake desc 'Raises exception if used in production' task skip_prod: ...