最近用到这个模块,写的一个工具类!记着怕以后忘了
# -*-coding:GBK-*-
#!C:\Python27\python.exe
'''
Created on 2012-12-14
@author: duanzuocai
@note: Excel 工具
'''
from openpyxl.cell import get_column_letter
from openpyxl.reader.excel import load_workbook
from openpyxl.workbook import Workbook
from openpyxl.writer.excel import ExcelWriter
import xlrd
import xlwt
class Excel2003:
''' 要安装xlrd模块 '''
sheet = workBook = None;
X = 0; Y = 0; xIndex = 0; yIndex = 0;
def __init__(self, path, sheet=0):
wb = xlrd.open_workbook(path)
sh = wb.sheet_by_index(sheet) # sheet = wb.sheet_by_name(u'Sheet1') 得到excel.Sheet
self.sheet = sh
self.workBook = wb
self.Y = self.sheet.nrows
self.X = self.sheet.ncols
def readLineX(self, num): # 读一列
if num > self.X: return None
return self.sheet.col_values(num)
def readLineY(self, num): # 读一排
if num > self.Y: return None
return self.sheet.row_values(num)
def read(self, x, y):
# 通过索引读取数据:
return self.sheet.cell(x, y).value
def nextY(self):
if self.yIndex >= self.Y: return None;
vs = self.readLineY(self.yIndex)
self.yIndex += 1;
return vs;
def nextX(self):
if self.xIndex >= self.X: return None;
vs = self.readLineX(self.xIndex)
self.xIndex += 1;
return vs;
def resetX(self):
self.xIndex = 0;
def resetY(self):
self.yIndex = 0;
def hasNextX(self):
return self.X > self.xIndex
def hasNextY(self):
return self.Y > self.yIndex
class Excel2003Create():
''' 需要xlwt模块 '''
path = workBook = sheet = None;
def __init__(self, path):
self.path = path
self.workBook = xlwt.Workbook()
def createSheet(self, sName):
return self.workBook.add_sheet(sName)
def set(self, sheet_obj, x, y, value):
sheet_obj.write(x, y, value)
def save(self):
self.workBook.save(self.path)
class Excel2007(Excel2003):
''' 要安装openpyxl模块 '''
def __init__(self, path, sheetNum):
wb = load_workbook(filename=path)
if sheetNum > len(wb.get_sheet_names()):
print 'Error: out of index the sheetNumber', len(wb.get_sheet_names());
return
sheetName = wb.get_sheet_names()[sheetNum]
self.sheet = wb.get_sheet_by_name(name=sheetName)
self.Y = self.sheet.get_highest_row()
self.X = self.sheet.get_highest_column()
def read(self, x, y):
return self.sheet.cell(row=y, column=x).value
def readLineX(self, num): # 读一列
if num > self.X: return None
xs = []
for i in range(self.Y):
xs.insert(i, self.read(num, i))
return xs
def readLineY(self, num): # 读一排
if num > self.Y: return None
ys = []
for i in range(self.X):
ys.insert(i, self.read(i, num))
return ys
class Excel2007Write():
excelWriter = path = workBook = sheet = None;
def __init__(self, path):
self.path = path
self.workBook = Workbook()
self.excelWriter = ExcelWriter(workbook=self.workBook)
def createSheet(self, index, name):
sheet = self.workBook.worksheets[index]
sheet.title = name
return sheet
def set(self, sheet_obj, x, y, value):
col = get_column_letter(x+1)
sheet_obj.cell('%s%s' % (col, y+1)).value = value
def save(self):
self.excelWriter.save(filename=path)
if __name__ == '__main__':
path = 'C:\\Users\\duanzuocai.DS\\Desktop\\ab.xlsx';
excel = Excel2007Write(path)
s1 = excel.createSheet(0, "doc1")
excel.set(s1, 0, 0, '00')
excel.set(s1, 0, 1, '01')
excel.set(s1, 0, 2, '02')
excel.set(s1, 1, 0, '10')
excel.set(s1, 1, 1, '11')
excel.save()
分享到:
相关推荐
在IT行业中,Python是一种广泛应用的开发语言,尤其在数据处理领域表现出色。...阅读"从零基础开始用Python处理Excel数据"的PDF文档,将会帮助你逐步掌握这些技能,并加深对Python在数据处理方面的理解。
python处理excel制成雷达图,利用工具plotly在线生成,事先要安装好xlrd组件 代码: import xlrd //事先要下载好xlrd组件 import plotly.plotly as py import plotly.graph_objs as go from plotly import tools ...
Python在处理Excel文件方面具有强大的能力,这得益于其丰富的库支持。在上述案例中,主要提到了三个常用的库:pandas、openpyxl...因此,掌握Python处理Excel文件的方法对于数据分析师和程序员来说是非常有价值的技能。
Python是一种广泛使用的编程语言,尤其在数据处理领域,它提供了许多强大的库来处理Excel文件。在本主题中,我们将深入探讨Python如何解析和读取Excel文件,以及这在实际应用中的重要性。 首先,让我们了解Python中...
【Python-Excel合并小工具】是一款实用的Python编程实现的应用,专为处理Excel文件而设计。这个小工具能够高效地将指定文件夹内的所有Excel文件整合到一个单一的Excel表格中,极大地简化了数据管理和分析的工作流程...
python处理excel制成雷达图,利用工具plotly,在线生成,事先要安装好xlrd组件
【Python对Excel操作详解...总结来说,Python提供了多种方法来处理Excel文件,无论你是简单的数据读写还是复杂的数据分析,都能找到合适的工具和库。了解和掌握这些库的使用,将极大提升你在数据处理上的效率和灵活性。
综上所述,处理Excel2003和Excel2007导入涉及理解文件格式差异、选择合适的编程接口和库,并根据实际需求编写或使用已有代码。开发者应确保代码能正确处理两种格式,特别是考虑到OpenXML的复杂性和文件结构的不同。
本篇将详细探讨如何利用Python处理Excel专栏数据集,包括读取、写入、修改以及分析Excel文件。 首先,Python中的主要库有`pandas`和`openpyxl`,它们是处理Excel数据的核心工具。`pandas`是一个高效的数据结构库,...
1. **Python处理Excel**:Python的`pandas`库是处理Excel文件的核心工具。`pandas`提供了DataFrame数据结构,可以轻松地读取、写入Excel文件,并进行各种数据操作。`read_excel()`函数用于读取Excel文件,`to_excel...
在Python编程中,处理Excel文件是一项常见的任务,无论是数据分析、数据清洗还是自动化报告,都需要对Excel文件进行读取和写入。...记住,学习和实践是提高技能的关键,祝你在Python处理Excel文件的道路上越走越远!
5. 更现代的选择:近年来,pandas库成为了Python数据操作的事实标准,它也提供了非常方便的Excel读写功能,同时支持xlsxwriter和openpyxl库,可以处理Excel 2007及更高版本的XLSX格式。 ```python import pandas as...
首先,"python处理excel的教程"可能会介绍基础操作,如读取、写入和修改Excel文件。Python的`openpyxl`库是一个常用的工具,它允许你直接与.xlsx文件交互,创建工作簿、工作表,并进行单元格级别的操作。此外,`xlrd...
Python 处理Excel表格
在这个主题中,我们将重点关注三个关键的Python库:xlrd、xlutils和xlwt,它们都是用于处理Excel文件的重要工具。 首先,xlrd是Python的一个库,专为读取Excel文件设计。它支持多种Excel文件格式,包括.BIFF8...
"Python excel工具"这个主题涉及到的是如何使用Python库来操作Excel文件,以便进行数据分析、数据清洗或者生成报表等工作。下面将详细阐述Python在处理Excel文件时常用的一些库和操作方法。 首先,`xlrd`和`xlwt`是...
在Python编程语言中,处理Excel数据是一项常见的任务,特别是在数据分析、报表生成以及数据清洗等领域。Python提供了多个库来支持Excel文件的读取和写入,其中最常用的有`pandas`库和`openpyxl`库。这篇基础操作篇将...
本主题“基于Python的使用pyautocad处理excel自动化脚本设计”聚焦于结合Python与PyAutoCAD库来实现Excel数据的自动化处理,这在数据驱动的工作流程中非常常见,特别是对于工程和设计团队。 PyAutoCAD是Python的一...