一、用xlrd和xlwt读写excel

    首先下载安装xlrd和xlwt这两个库。

  1、打开excel

    readbook = xlrd.open_workbook(r'\test\canying.xlsx')

  2、获取读入的文件的sheet

    sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
    sheet = readbook.sheet_by_name('sheet2')#名字的方式

  3、获取sheet的最大行数和列数

    nrows = sheet.nrows#行
    ncols = sheet.ncols#列

  4、获取某个单元格的值

    lng = table.cell(i,3).value#获取i行3列的表格值
    lat = table.cell(i,4).value#获取i行4列的表格值

  5、打开将写的表并添加sheet

    writebook = xlwt.Workbook()#打开一个excel
    sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet

  6、将数据写入excel

     sheet.write(i,0,result[0])#写入excel,i行0列
    sheet.write(i,1,result[1])

  7、保存

     writebook.save('answer.xls')#一定要记得保存

  相关代码

# coding=utf-8
import xlrd
import xlwt
import datetime import os class excelProcess:
def __init__(self,keywordExcelFile,mainExcelFile):
self.keywordExcelFile = keywordExcelFile
self.mainExcelFile = mainExcelFile def WriteLog(self, message,date):
fileName = os.path.join(os.getcwd(), date + '.txt')
with open(fileName, 'a') as f:
f.write(message) def WriteSheetRow(self,sheet, rowValueList, rowIndex, isBold):
i = 0
style = xlwt.easyxf('font: bold 1')
# style = xlwt.easyxf('font: bold 0, color red;')#红色字体
# style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;') # 设置Excel单元格的背景色为黄色,字体为粗体
for svalue in rowValueList:
if isBold:
sheet.write(rowIndex, i, svalue, style)
else:
sheet.write(rowIndex, i, svalue)
i = i + 1 def save_Excel(self):
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet1', cell_overwrite_ok=True)
headList = ['IR_SITENAME', 'IR_AUTHORS', 'SY_INFOTYPE', 'RID', 'IR_URLTITLE','SY_KEYWORDS',
'IR_URLNAME', 'IR_URLTIME',
'IR_GROUPNAME', 'IR_CHANNEL',
'SY_BB_COMMON', 'summary', 'keyword'
] rowIndex = 0
self.WriteSheetRow(sheet, headList, rowIndex, True)
for i in range(1, 11):
rowIndex = rowIndex + 1
valueList = []
for j in range(1, 14):
valueList.append(j * i)
self.WriteSheetRow(sheet, valueList, rowIndex, False)
fileName = os.path.join(os.getcwd(),'test.xlsx')
wbk.save(fileName)

 二、使用openpyxl库读写excel

    xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576。 
    如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format

    首先需要导入 import openpyxl

    1、打开excel

      

    2、获取打开的excel的sheet内容

      

    3、获取sheet的最大行数和列数

      

    4、获取某个单元格的值

      print(ws.cell(1,1).value)

    5、打开将写的表并添加sheet

      

    6、保存

      

    完整代码

    def readExel(self):
filename = r'D:\work\Excel_txtProcesss\new-微博-合并\58.xlsx'
inwb = openpyxl.load_workbook(filename) # 读文件 sheetnames = inwb.get_sheet_names() # 获取读文件中所有的sheet,通过名字的方式
ws = inwb.get_sheet_by_name(sheetnames[0]) # 获取第一个sheet内容 # 获取sheet的最大行数和列数
rows = ws.max_row
cols = ws.max_column
for r in range(1,rows):
for c in range(1,cols):
print(ws.cell(r,c).value)
if r==10:
break def writeExcel(self):
outwb = openpyxl.Workbook() # 打开一个将写的文件
outws = outwb.create_sheet(index=0) # 在将写的文件创建sheet
for row in range(1,70000):
for col in range(1,4):
outws.cell(row, col).value = row*2 # 写文件
print(row)
saveExcel = "D:\\work\\Excel_txtProcesss\\test.xlsx"
outwb.save(saveExcel) # 一定要记得保存

 三、

  style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;')

  在设置上Excel单元格的背景色时,fore_colour 支持的颜色是有限的,仅支持一下颜色

  aqua 0x31
  black 0x08
  blue 0x0C
  blue_gray 0x36
  bright_green 0x0B
  brown 0x3C
  coral 0x1D
  cyan_ega 0x0F
  dark_blue 0x12
  dark_blue_ega 0x12
  dark_green 0x3A
  dark_green_ega 0x11
  dark_purple 0x1C
  dark_red 0x10
  dark_red_ega 0x10
  dark_teal 0x38
  dark_yellow 0x13
  gold 0x33
  gray_ega 0x17
  gray25 0x16
  gray40 0x37
  gray50 0x17
  gray80 0x3F
  green 0x11
  ice_blue 0x1F
  indigo 0x3E
  ivory 0x1A
  lavender 0x2E
  light_blue 0x30
  light_green 0x2A
  light_orange 0x34
  light_turquoise 0x29
  light_yellow 0x2B
  lime 0x32
  magenta_ega 0x0E
  ocean_blue 0x1E
  olive_ega 0x13
  olive_green 0x3B
  orange 0x35
  pale_blue 0x2C
  periwinkle 0x18
  pink 0x0E
  plum 0x3D
  purple_ega 0x14
  red 0x0A
  rose 0x2D
  sea_green 0x39
  silver_ega 0x16
  sky_blue 0x28
  tan 0x2F
  teal 0x15
  teal_ega 0x15
  turquoise 0x0F
  violet 0x14
  white 0x09
  yellow 0x0D""" 另外一种方式是 用pyExcelerator

from pyExcelerator import *
# excel 第一行数据
excel_headDatas = [u'发布时间', u'文章标题', u'文章链接', u'文章简介']
articles =[
{u'发布时间':u'2017年5月9日',
u'文章标题':u'Python项目实战教程:国内就能访问的google搜索引擎',
u'文章链接':'http://mp.weixin.qq.com/s?timestamp=1494557315',
u'文章简介':u'大家可以留言、想了解python那个方向的知识、不然我也不知道'}, {u'发布时间':u'2017年5月4日',
u'文章标题':u'对于学习Django的建议、你知道的有那些',
u'文章链接':'http://mp.weixin.qq.com/s?timestamp=1494557323',
u'文章简介':u'随着Django1.4第二个候选版的发布,虽然还不支持Python3,但Django团队已经在着手计划中,据官方博客所说,Django1.5将会试验性的支持python3'}
]
# 定义excel操作句柄
excle_Workbook = Workbook()
excel_sheet_name = time.strftime('%Y-%m-%d')
excel_sheet = excle_Workbook.add_sheet(excel_sheet_name)
index = 0
#标题
for data in excel_headDatas:
excel_sheet.write(0, index, data)
index += 1 index = 1 #内容
for article in articles:
colIndex = 0
for item in excel_headDatas:
excel_sheet.write(index, colIndex, article[item])
colIndex += 1
index += 1
#保存test.xlsx到当前程序目录
excle_Workbook.save('test.xlsx') # db = mongoDB.mongoDbBase()
# db.Get_information_stat()

python 读写 Excel文件的更多相关文章

  1. [转]用Python读写Excel文件

    [转]用Python读写Excel文件   转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交 ...

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

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

  3. Python读写Excel文件和正则表达式

    Python 读写Excel文件 这里使用的是 xlwt 和 xlrd 这两个excel读写库. #_*_ coding:utf-8 _*_ #__author__='观海云不远' #__date__ ...

  4. 用Python读写Excel文件(转)

    原文:google.com/ncr 虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TA ...

  5. 用Python读写Excel文件的方式比较

    虽然天天跟数据打交道,也频繁地使用Excel进行一些简单的数据处理和展示,但长期以来总是小心地避免用Python直接读写Excel文件.通常我都是把数据保存为以TAB分割的文本文件(TSV),再在Ex ...

  6. Python读写EXCEL文件常用方法大全

    前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

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

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

  8. Python读写Excel文件的实例

    最近由于经常要用到Excel,需要根据Excel表格中的内容对一些apk进行处理,手动处理很麻烦,于是决定写脚本来处理.首先贴出网上找来的读写Excel的脚本. 1.读取Excel(需要安装xlrd) ...

  9. python读写Excel文件_xlrd模块读取,xlwt模块写入

    一.安装xlrd模块和xlwt模块(服务器) 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd ...

随机推荐

  1. 163免费邮客户端设置的POP3、SMTP、IMAP地址

    网易邮箱支持POP3/SMTP/IMAP服务,方便您可以通过电脑客户端软件更好地收发邮件

  2. 关于css3 中filter的各种特效

    做项目时遇到了一个有趣的css特效. 目前各大浏览器对于css3的兼容已经非常好了,最新版本都可以支持css3,老版本的ie9以下的还是不支持,不过这不是重点,微软都准备放弃这些老古董了. 现在规范中 ...

  3. Php 魔术常量

    魔术常量 由于其值在程序运行过程中不允许更改,所以是常量:其值,又是运行环境不同而不现,所以叫魔术. __DIR__            当前脚本文件的路径 示例: __LINE__         ...

  4. 【Leetcode】357. Count Numbers with Unique Digits

    题目描述: Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. ...

  5. Ubuntu将软件(Sublime Text 2为例)锁定到启动器

    Ubuntu中打开某安装好的软件,然后右击启动器(Launcher)上打开的图标就可以将该软件锁定到启动器或者从启动器解锁. 然而,有许多软件下载后直接解压就能用,不需要安装,这种情况采用上述方法锁定 ...

  6. AE实现矢量图层标注属性

    添加引用ESRI.ArcGIS.Carto 1.获取图层 IGeoFeatureLayer pFtrLayer = m_pLayer as IGeoFeatureLayer; 2.初始化标注属性集合 ...

  7. Codevs 1158 尼克的任务

    1158 尼克的任务 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮 ...

  8. uva247 - Calling Circles(传递闭包+DFS)

    题意:两人相互打电话(直接或间接),则在一个电话圈.即a给b打电话,b给c打电话,则a给c间接打电话. 注意:1.注意标记.2.注意输出格式. #include<iostream> #in ...

  9. poj 2431 Expedition

    Expedition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12980   Accepted: 3705 Descr ...

  10. .NET架构师技能体系

    .NET架构师应该掌握什么样的技术?其实这个问题很简单,去看看招聘.NET架构师的公司的职位要求就知道了.比如:http://www.cnblogs.com/guwei4037/p/5615471.h ...