python 读excel文件,需要xlrd库。下载地址:https://pypi.python.org/pypi/xlrd

python 写excel文件,需要xlwt库。下载地址:https://pypi.python.org/pypi/xlwt/1.1.2

下载后修改扩展名为rar, 解压后安装:

安装成功后就可以引用了。如下代码:

# -*- coding: utf-8 -*-
import os
import xlrd
import xlwt
import datetime

##################读excel文件##############################

#打开Excel文件,参数:excelFile:Excel文件路径
def open_Excel(excelFile):
  excelFile = unicode(excelFile, "utf8")
  if os.path.isfile(excelFile):
    try:
      data = xlrd.open_workbook(excelFile)
      return data
    except Exception,e:
      print str(e)

'''往EXCEl单元格写内容,每次写一行sheet:页签名称;row:行内容列表;rowIndex:行索引;
isBold:true:粗字段,false:普通字体'''
def WriteSheetRow(sheet,rowValueList,rowIndex,isBold):
  i = 0
  style = xlwt.easyxf('font: bold 1') #粗字体

  #style = xlwt.easyxf('font: bold 1, color red;') #红色字体
  for svalue in rowValueList:
    strValue = unicode(str(svalue),'utf-8')
    if isBold:
      sheet.write(rowIndex,i,strValue,style)
    else:
      sheet.write(rowIndex,i,strValue)
    i = i + 1

#根据索引获取Excel表格中的数据 参数:excelFile:Excel文件路径 ,by_index:表的索引
def open_Excel_ByIndex(excelFile,sheetIndex):
  data = open_Excel(excelFile)
  table = data.sheets()[sheetIndex]
  nrows = table.nrows #行数
  ncols = table.ncols #列数
  cursor = getSqlCursor()
  for i in xrange(0,nrows):
    headCols = table.row_values(i) #某一行数据
    for a in headCols:
      print a

#测试
open_Excel_ByIndex("D:\\test.xlsx",0)

#根据名称获取Excel表格中的数据 参数:excelFile:Excel文件路径
#sheetName:Sheet1名称
def open_Excel_BySheetName(excelFile,sheetName):
  sheetName = unicode(sheetName, "utf8")
  data = open_Excel(excelFile)
  table = data.sheet_by_name(sheetName)
  nrows = table.nrows #行数
  ncols = table.ncols #列数
  cursor = getSqlCursor()
  for i in xrange(0,nrows):
    headCols = table.row_values(i) #某一行数据
    for a in headCols:
      print a
#测试
open_Excel_BySheetName("D:\\test.xlsx",'sheet1')

##################写excel文件##############################
'''写excel文件''' 
def save_Excel(strFile):
  excelFile = unicode(strFile, "utf8")
  wbk = xlwt.Workbook()
  sheet = wbk.add_sheet('sheet1')
  headList = ['标题1','标题2','标题3','标题4']
  rowIndex = 0
  WriteSheetRow(sheet,headList,rowIndex,,True)
  for i in xrange(1,11):
    rowIndex = rowIndex + 1
    valueList = []
    for j in xrange(1,5):
      valueList.append(j*i)
    WriteSheetRow(sheet,valueList,rowIndex,False)
  wbk.save(excelFile)

#测试
save_Excel("D:\\test.xlsx")

结果如下:

##################单元格常用设置##############################

1、设置超链接

  #设置超链接
  

  font = xlwt.Font() # Create Font
  font.colour_index = 4 # 蓝色字体
  font.underline=True
  style = xlwt.XFStyle()
  style.font = font
  sheet.write(rowIndex,4,xlwt.Formula('HYPERLINK("https://www.baidu.com";"baidu")'),style)

2、设置单元格背景色

  #设置单元格背景色
  pattern = xlwt.Pattern()
  pattern.pattern = xlwt.Pattern.SOLID_PATTERN
  pattern.pattern_fore_colour = 5 #黄色
  style = xlwt.XFStyle()
  style.pattern = pattern
  sheet.write(5, 5, 'Cell Contents', style)
  ''' 颜色值
  0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue,
  5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon,
  17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
  20 = Dark Magenta, 21 = Teal,
  22 = Light Gray, 23 = Dark Gray
  '''

3、设置粗字体

  style = xlwt.easyxf('font: bold 1')

  sheet.write(5, 5, 'Cell Contents', style)

4、设置字体颜色

  style = xlwt.easyxf('font: bold 0, color red;')#红色字体

  sheet.write(5, 5, 'Cell Contents', style)

5、设置列宽带

  sheet.col(1).width = 3333 # 3333 = 1" (one inch)

6、设置日期格式

  style = xlwt.XFStyle()
  style.num_format_str = 'YYYY/MM/DD h:mm:ss' 
  sheet.write(5, 5, datetime.datetime.now(), style)

  

  #Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss,
  # M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0

7、合并行和列

  sheet.write_merge(0, 0, 0, 3, 'First Merge')

  sheet.write_merge(2, 4, 0, 3, 'Second Merge')

  

8、给单元格增加边框 

  borders = xlwt.Borders() # Create Borders
  borders.left = xlwt.Borders.DASHED

  # May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED,   THIN_DASH_DOTTED,              #MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED,

  #SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
  borders.right = xlwt.Borders.DASHED
  borders.top = xlwt.Borders.DASHED
  borders.bottom = xlwt.Borders.DASHED
  borders.left_colour = 0x40
  borders.right_colour = 0x40
  borders.top_colour = 0x40
  borders.bottom_colour = 0x40
  style = xlwt.XFStyle() # Create Style
  style.borders = borders # Add Borders to Style

  

9、设置单元格中内容中位置,居中,局左右等

  alignment = xlwt.Alignment() # Create Alignment
  # May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT,
  #HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
  alignment.horz = xlwt.Alignment.HORZ_CENTER   #水平居中
  # May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
  alignment.vert = xlwt.Alignment.VERT_CENTER    #垂直居中
  style = xlwt.XFStyle() # Create Style
  style.alignment = alignment # Add Alignment to Style
  sheet.write(5, 5, 'Cell Contents', style)

  

python xlrd,xlwt 读写excel文件的更多相关文章

  1. 【转发】Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  2. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  4. python使用xlrd和xlwt读写Excel文件

    版权声明:本文为博主原创文章,未经允许不得转载. 安装模块 如果使用的是Linux系统,并且安装了pip,可以直接使用pip安装xlrd, xlwt: pip install xlwt pip ins ...

  5. 自己总结python用xlrd\xlwt读写excel

    1.首先安装xlrd\xlwt模块 xlrd模块下载地址: https://pypi.python.org/pypi/xlrd xlwt模块下载地址: https://pypi.python.org/ ...

  6. Python使用读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  7. python读写Excel文件的函数--使用xlrd/xlwt

    python中读取Excel的模块或者说工具有很多,如以下几种: Packages 文档下载 说明 openpyxl Download | Documentation | Bitbucket  The ...

  8. python读写Excel文件--使用xlrd模块读取,xlwt模块写入

    一.安装xlrd模块和xlwt模块 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd-0.9. ...

  9. Python -- xlrd,xlwt,xlutils 读写同一个Excel

    最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...

随机推荐

  1. 利用android studio gsonformat插件快速解析复杂json

    在android开发过程中,难免会遇到json解析,在这篇文章中为你快速解析复杂的json. 首先,在android studio中安装gsonformat插件. 点击File->Setting ...

  2. c++ 拷贝构造练习

    #include<iostream> using namespace std; class Vector { private: int *dwp; int size; void clone ...

  3. 巧用selectKey

    在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返回的 ...

  4. Visual Studio 2015中的常用调试技巧分享

    .NET 技术交流群:337901356 欢迎您的加入! 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这 ...

  5. WCF图片上传

    WCF越来越流行,俺也在用,这是废话.项目中遇到需要图片上传,但是wcf上传会遇到一些异常,调试了N久,找了好多个解决方案才最终解决.代码直接贴上了 /// <summary> /// 笔 ...

  6. Asp.Net Cookie的清除

    背景 最近做到一个asp.net项目,项目中保存用户信息用到了cookie,因此,在注销身份的时候,就需要清除掉cookie. 探索过程 我先是试验了这种代码,在没有特殊声明前,代码都是写在Page_ ...

  7. db2相关问题及解决方法

    DB2相关问题及解决方法: 一.DB2中的代码页(codepage)问题. DB2备份时发生过代码页错误的问题,修改代码页后备份正常,但创建数据库时又发生代码页的错误.这是DB2服务器使用的代码页配置 ...

  8. 浅析foreach原理

    在日常开发工作中,我们发现很多对象都能通过foreach来遍历,比如HashTable.Dictionary.数组等数据类型.那为何这些对象能通过foreach来遍历呢?如果写一个普通的Person类 ...

  9. Appium Android 屏幕滑动

  10. 12天学好C语言——记录我的C语言学习之路(Day 9)

    12天学好C语言--记录我的C语言学习之路 Day 9: 函数部分告一段落,但是我们并不是把函数完全放下,因为函数无处不在,我们今后的程序仍然会大量运用到函数 //转入指针部分的学习,了解指针是什么 ...