python调用xlrd&xlsxwirter

  1. #coding=utf-8
  2. #/usr/bin/env python
  3. import xlsxwriter,xlrd
  4. import sys,os.path
  5. fname = ‘zm6.xlsx‘
  6. if not os.path.isfile(fname):
  7. print u‘文件路径不存在‘
  8. sys.exit()
  9. data = xlrd.open_workbook(fname)            # 打开fname文件
  10. data.sheet_names()                          # 获取xls文件中所有sheet的名称
  11. table = data.sheet_by_index(0)              # 通过索引获取xls文件第0个sheet
  12. nrows = table.nrows                         # 获取table工作表总行数
  13. ncols = table.ncols                         # 获取table工作表总列数
  14. workbook = xlsxwriter.Workbook(‘zm6.xlsx‘)  #创建一个excel文件
  15. worksheet = workbook.add_worksheet()        #创建一个工作表对象
  16. worksheet.set_column(0,ncols,22)            #设定列的宽度为22像素
  17. #border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
  18. top = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘cccccc‘,‘font_size‘:13,‘bold‘:True})
  19. green = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘green‘,‘font_size‘:12})
  20. yellow = workbook.add_format({‘border‘:1,‘bg_color‘:‘yellow‘,‘font_size‘:12})
  21. red = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘red‘,‘font_size‘:12})
  22. blank = workbook.add_format({‘border‘:1})
  23. for i in xrange(nrows):
  24. worksheet.set_row(i,22)                 #设定第i行单元格属性,高度为22像素,行索引从0开始
  25. for j in  xrange(ncols):
  26. cell_value = table.cell_value(i,j,) #获取第i行中第j列的值
  27. if i == 0:
  28. format = top
  29. elif i == 3 or i == 6:
  30. format = blank
  31. else:
  32. if j == 0 or j == 2:
  33. format = yellow
  34. elif j == 1:
  35. format = red
  36. elif j == 3:
  37. format = green
  38. green.set_num_format(‘yyyy-mm-dd‘)  #设置时间格式
  39. worksheet.write(i,j,cell_value,format)      #把获取到的值写入文件对应的行列
  40. format.set_align(‘vcenter‘)                 #设置单元格垂直对齐
  41. workbook.close()
时间: 2024-10-11 19:50:25

python调用xlrd&xlsxwirter的相关文章

python调用脚本或shell的方式

python调用脚本或shell有下面三种方式: os.system()特点:(1)可以调用脚本.(2)可以判断是否正确执行.(3)满足不了标准输出 && 错误 commands模块特点:(1). commands.getstatusoutput(cmd)用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result). cmd执行的方式是{ cmd ; } 2&get;&1, 这样返回结果里面就会包含标准输出和标准错误.(2). comman

Python调用(运行)外部程序

在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32process模块中的函数.如果想进一步控制进程,则可以使用ctype模块,直接调用kernel32.dll中的函数. 1 使用os.system函数运行其他程序2 使用ShellExecute函数运行其他程序3 使用CreateProcess函数运行其他程序4 使用ctypes调用kernel32.dl

Python调用SqlPlus查询Oracle

用Python查询Oracle,当然最好用cx_Oracle库,但有时候受到种种限制,不能安装Python第三方库,就得利用现有资源,硬着头皮上了. 用Python调用SqlPlus查询Oracle,首先要知道SqlPlus返回结果是什么样的: (这是空行) Number Name Address ------------ ----------- ------------------ 1001 张三 南京路 1002 李四 上海路 第1行是空行,第2行是字段名称,第3行都是横杠,有空格隔开,第4

python调用系统命令popen、system

python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.所以说一般我们认为popen更加强大 os.system(cmd): 该方法在调用完shell脚本后,返回一个16位的二进制 数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为1

python调用java

这么个标题多少有点蛋疼的感觉,两个都是互联网时代的语言,学习成本和执行效率也差不多,之所以会产生这种需求,多半是想在python中引用java的类,例如安卓和hadoop的生态圈,基本是java代码的天下,虽然python大数据有不错的接口,但直接调用java的需求总是有的.这个目前已经有解决方案,例如jython,采用了java编写的python的解释器,在java虚拟机上面运行了python虚拟机,想想都悲催,两个慢解释型语言的结合jython速度慢来自于基因. 还有一种方案就是使用c做桥接

利用Python调用HBASE

利用Python调用HBASE的 需要安装thrift hbase-thrift 启动hbase的thrift服务:bin/hbase-daemon.sh start thrift 默认端口是9090 mysql 到hbase的数据同步: 1.put 2.Importtsv 3.编写MapReduce Job导入 4.sqoop 简单code: #!/usr/bin/env python #coding=utf-8 import sys sys.path.append('/usr/lib/pyt

Python调用7zip命令实现解压

Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Python调用dos命令 ,紧跟着的x -r这些全是参考7zip使用书册,及抽取文件夹下所有的以mp4结尾的文件,把文件放入e盘,测试解压文件夹下的new文件夹 # 调用7z命令批量解压文件 import os folder_name = input("请输入文件夹:") os.chdir(f

python 调用 R,使用rpy2

python 与 R 是当今数据分析的两大主流语言.作为一个统计系的学生,我最早接触的是R,后来才接触的python.python是通用编程语言,科学计算.数据分析是其重要的组成部分,但并非全部:而R则更偏重于统计分析,毕竟R是统计学家发明的,本身就是为统计而生.python的优势在于其全能性,几乎所有的领域都有python的身影,而R则在统计及其相关领域非常专业.二者各有优势.那么这么好的两个东西,能不能结合到一起呢?答案是肯定的.要想实现这种功能,一般必须要提供相应的调用接口.rpy2这个第

Python调用dll

Python的运行效率并不高,不过我们可以通用调用c函数或者dll来提高效率. 下面简单的写一个dll: MyDll.h 1 #ifndef MYDLL 2 #define MYDLL 3 #ifdef MY_DLL 4 #define MY_DLL extern "C" _declspec(dllimport) 5 #else 6 #define MY_DLL extern "C" _declspec(dllexport) 7 #endif 8 9 MY_DLL