博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
excel数据的处理
阅读量:6417 次
发布时间:2019-06-23

本文共 4021 字,大约阅读时间需要 13 分钟。

一、模块xlrd-读取excel

1.1 打开excel

import xlrd                                                 #导入xlrd模块myWorkbook=xlrd.open_workbook('D:\\Daisy\\testData.xls')    #打开excel

1.2 打开sheet

# 以下方法之一 mySheets = myWorkbook.sheets()            #获取工作列表,获取表格中所有sheet,通过索引顺序获取mySheet = mySheets[0]                           #所有sheet中的第一个sheetmySheet = myWorkbook.sheet_by_index(0)       #通过索引顺序获取,获取到表格中第一个sheetmySheet = myWorkbook.sheet_by_name(u'Sheet1')  #通过名称获取,获取到表格中的sheet名称为Sheet1的sheet

1.3 读取 - 行/列数

nrows = mySheet.nrows  #获取sheet中的行数ncols = mySheet.ncols   #获取sheet中的列数

1.4 读取 - 一行/列数据

myrow = mySheet.row_values(i)    #i为行数,从0开始计数,返回list对象mycol = mySheet.col_values(i)    #i为列数,从0开始计数,返回list对象

1.5 读取 - 单元格数据

mycellvalue = mySheet.cell(i,j).value           #获取单元格的数据,i为行数,j为列数myCellValue = mySheet.cell_value(i, j)           #直接获取单元格数据value=mySheet.cell_value(1,0).encode('utf-8')      #以utf-8格式读取

二、模块xlwt-生成excel

2.1 创建excel

import xlwt                    #导入xlwt模块myWorkbook=xlwt.Workbook()     #创建工作表

2.2 添加sheet

mySheet = myWorkbook.add_sheet('Sheet'Name)    #添加工作表

2.3 cell写入值

mySheet.write(i, j, 'abcdefg')    #在i行j列写入值abcdefg

2.4 保存excel

myWorkbook.save('excelFile.xls')

注意:xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576

三、模块xlsxwriter-生成excel

3.1 创建excel

import xlsxwriter                              #导入模块workbook = xlsxwriter.Workbook('hello.xlsx')   #生成表名及路径

3.2 添加sheet

worksheet = workbook.add_worksheet()  #方法里可以写入sheet名字,但不能含中文

3.3 按行写入

worksheet.write_row('A1', ['a','b','c'], bold)  #从A1处开始写入一行列表,并加粗处理 worksheet.write_row(i, j, ['a','c','d'])             #从i行j列写入一行列表,行列都是从0开始的

3.4 写入cell值

worksheet.write('B5', 'hello world')
worksheet.write(i, j, 'hello world')

3.5 关闭表

workbook.close()

四、模块xlutils-更改表内容

4.1 拷贝表

import xlrdfrom xlutils.copy import copywb = copy(xlrd.open_workbook('weng.xls'))  #拷贝表

4.2 获取表单

ws = wb.get_sheet(0)                   #获取第一个表单

4.3 改变cell值

ws.write(0, 0, 'changed!')             #改变(0,0)的值

4.4 保存文件

wb.save('weng.xls')                    #保存文件

五、模块openpyxl-读取并修改excel

5.1 获得/创建excel

from openpyxl import load_workbook, Workbookexcel = openpyxl.Workbook()                     #创建新的excel,默认创建一个sheetexcel = openpyxl.load_workbook("hello.xlsx")    #导入已经存在的excel

5.2 获取sheet

sheet = excel['sheetname']             #获取sheet sheet = excel.worksheets[0]            #返回第一个sheetsheet = create_sheet(title,index)      #创建一个空的表格,index=0插入到开头,返回sheet对象sheet = excel.active                   #获取当前活跃的Worksheet,返回sheet对象 excel.remove_sheet(excel["mysheet"])   #删除sheetexcel.copy_worksheet(excel["mysheet"])  #在workook内拷贝表格excel.worksheets                       #以列表形式返回所有worksheet,返回sheet对象列表excel.sheetnames                       #获取工作簿中的表(列表),返回sheet名字列表

 5.3 获取行/列数

max_row = sheet.max_row    #返回表格的最大行数min_row = sheet.min_row     #返回表格的最小行数max_col = sheet.max_column   #返回表格的最大列数min_col = sheet.min_column   #返回表格的最小列数

5.4 按行/列获取数据

col_content = sheet['C']     #返回C列的内容,也是元祖形式Cell对象col_content = sheet['A:C']   #返回A列到C列(包含C列)的Cell对象,元祖形式,一列一列取值row_content = sheet[10]      #返回第10行数据row_content = sheet[10:12]    #返回第10行到第12行数据
all_row_obj = sheet.rows          #按行获取所有对象,返回对象格式:((x,x),(x,x),(x,x))all_col_obj = sheet.columns       #按列获取所有对象for i in all_row_obj:    for j in i:        print j.value
iter_rows(min_row=1,max_row=4,min_col=2,max_col=4)       #按行获取固定数量的对象iter_columns(min_row=1,max_row=4,min_col=2,max_col=4)    #按列获取固定数量的对象for i in iter_rows(1,2,1,2)    for j in i:        print j.value

5.5 表格末尾添加数据

sheet.append([1,1,1])   #在表格最后一行后面添加一行数据

5.6 获取cell值

#单个cell的值sheet['A1'].valuesheet.cell(row=1,column=2).value#多个cell的值cell_range = sheet['A1':'C2']    返回一个元祖,元祖内容是两行三列Cell对象,而非cell的value

5.7 获取cell行/列号

excel['sheet1'].cell(row=1,column=2).row    #返回行号1excel['sheet1'].cell(row=1,column=2).column  #返回列名Bexcel['sheet1'].cell(row=1,column=2).coordinate  #返回坐标B1

5.8 给cell赋值

sheet[“A3”] = "ABC" sheet["A3"].value = "ABC"sheet.cell(row=1,column=2).value = "ABC"

5.9 保存excel

excel.save("test.xlsx")

 

转载于:https://www.cnblogs.com/zz27zz/p/9498449.html

你可能感兴趣的文章
归档日志ORA-19809: 超出了恢复文件数的限制
查看>>
精品德国软件 UltraShredder 文件粉碎机
查看>>
PANDAS 数据合并与重塑(join/merge篇)
查看>>
文件时间信息在测试中的应用
查看>>
Exception loading sessions from persistent storage (tomcat异常)
查看>>
直播疑难杂症排查(8)— 播放杂音、噪音、回声问题
查看>>
安装乌班图系统,并且演示有趣的linux命令,你还怕对linux无兴趣吗
查看>>
处理器高端之路停滞,联发科欲进军诺基亚领地
查看>>
IBM存储部门换了新老板:还是6年前那个
查看>>
IBM公司公布三层单元PCM-MLC,向3DX堆栈方案发起挑战
查看>>
《2040大预言:高科技引擎与社会新秩序》—— 导读
查看>>
数据库操作:添加、插入、更新语句
查看>>
微软宠爱高通/ARM:欲彻底弃Wintel
查看>>
降低数据中心能源消耗
查看>>
IT众包不养技术人员该怎么玩?
查看>>
不设置解密后门就罚款!苹果或将面临处罚
查看>>
成为Linux内核高手的4个方法
查看>>
数据库索引的作用和长处缺点
查看>>
自主编写部署性能测试的备
查看>>
10余智慧项目建设初见成效 南岸用智慧城市开启智慧生活
查看>>