[Python] Python与Excel--只读|只写|读写|创建图表
来源:互联网 发布:mac怎么强制退出软件 编辑:程序博客网 时间:2024/06/05 09:04
- xlrd只读
- 打开excel文件
- 打开表
- 获取整行和整列值数组
- 获取行数和列数
- 循环行列表数据
- 指定单元格
- 行列索引
- 简单写入
- xlwt只写
- xlutils修改
- openpyxl读写大数据
- xlsxwriter 写和添加图表
库介绍:
对于版本
xlrd,xlwt比较老,只能处理由Excel 97-2003或者Excel 97之前版本的xls格式。xlwt甚至不支持07版本以后的excel,这个格式excel文件一般来说,最大只能支持256列或者65536行的excel文件。对于大数据
xlwt库保存大数据时报错:Exception: String longer than 32767 characters
面对需要导出大量数据excel情况,你有:(1)换一种存储格式,如保存为csv文件(2)使用openpyxl,因为它支持对Excel2007+xlsx/xlsm格式的处理 (3)win32 COM(windows only)
xlrd只读
xlrd并非python原生库,需要安装
打开excel文件
data = xlrd.open_workbook('excelFile.xlsx')
打开表
table = data.sheets()[0] #通过索引table = data.sheet_by_name(u'Sheet1') #通过名称获取
获取整行和整列值(数组)
table.row_values(i) #获取第i行table.col_values(i) #获取第i列
获取行数和列数
nrows = table.nrowsncols = table.ncols
循环行列表数据
for i in range(nrows): print table.row_values(i)
指定单元格
cell_A1 = table.cell(0,0).valuecell_C4 = table.cell(2,3).value
行列索引
cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value
简单写入
table.put_cell(row,col,ctype,value,xf)# row行号# col列号# ctype类型 # 0 empty,1 string,2 number,3 date,4 boolean,5 error# value单元格的值# xf扩展的格式化tabl.cell(0,0) #单元格的值table.cell(0,0).value #单元格的值
xlwt只写
xlwt并非python原生库,需要安装
wb = xlwt.WorkBook() #创建excel对象sheet = wb.add_sheet('sheet 1') #创建sheet对象sheet.write(0,1,'我是第0行第一列的内容') #写入wb.save('test.xls') #保存成excel文件
xlutils修改
xlutils并非python原生库,需要安装
import xlrdfrom xlutils.copy import copyrb = xlrd.open_workbook(u'测试.xls') #打开excel文件wb = copy(rb) #复制原来的数据ws = wb.get_sheet(0) #得到表格ws.write(3,0,'修改') #修改单元格新年喜wb.save(u'测试.xls') #保存,重名即覆盖
openpyxl读写大数据
openpyxl需要安装
from openpyxl import Workbookfrom openpyxl import load_workbookform openpyxl.write.excel import ExcelWriterwb = load_workbook(u'读写测试.xls') #加载excelsheetnames = wb.get_sheet_names() #获取表单名字sheet = wb.get_sheet_by_name(sheetnames[0]) #打开下标为0的表单print sheet.cell(row=3,column=3).value #读取数据sheet['A1'] = '改变!' #修改数据wb.save(u'测试读写.xls') #保存
xlsxwriter 写和添加图表
import xlsxwriterdef get_chart(series) chart = workbook.add_chart({'type': 'line'}) for ses in series: name = ses["name"] values = ses["values"] chart.add_series({ 'name': name, 'categories': 'A2:A10', 'values':values }) chart.set_size({'width': 700, 'height': 350}) return chartif __name__ == '__main__': workbook = xlsxwriter.Workbook(u'H5应用中心关键数据及趋势.xlsx') worksheet = workbook.add_worksheet(u"每日PV,UV") headings = ['日期', '平均值'] worksheet.write_row('A1', headings) index=0 for row in range(1,10): for com in [0,1]: worksheet.write(row,com,index) index+=1 series = [{"name":"平均值","values":"B2:B10"}] chart = get_chart(series) chart.set_title ({'name': '每日页面分享数据'}) worksheet.insert_chart('H7', chart) workbook.close()
阅读全文
0 0
- [Python] Python与Excel--只读|只写|读写|创建图表
- python xlsxwriter创建excel图表
- 【python】python读写excel
- Python读写Excel:xlrd与xlwt
- Python读写与追加excel文件
- C#控制台 只读,只写,读写,读写时过滤的属性
- python 读写excel
- Python 读写 Excel
- Python读写Excel
- python中读写excel
- python 读写excel
- python 读写 Excel
- python 读写excel
- python读写Excel文件
- python读写excel文件
- Python读写excel文件
- python读写excel
- Python 读写Excel文件
- zabbix Linux安装snmp监控配置
- Python 短信发送类
- DSP程序死机(跑飞)的一些情况-硬件原因
- Spring黑马笔记入门六
- 从零开始的刷机(烧录系统到开发板)
- [Python] Python与Excel--只读|只写|读写|创建图表
- This application’s application-identifier entitlement does not match that of the installed applicati
- DSP程序死机(跑飞)的一些情况-软件原因
- javaWeb-javaBean+内省机制+模拟Hibernate的CRUD操作
- python-nmap 帮助文档
- LeetCode 215. Kth Largest Element in an Array
- PTA 2.4
- 接下来要做的事
- 自定义控件View的使用