python - 通过加载第三方库xlrd/xlwt/xlsxwriter,来读写excel文件,不涉及图形操作
2017-08-14 17:58
771 查看
问题:
如何将结果汇总保存起来,并查看修改?
解决方案:
python结合excel可以对数据进行保存和增删改查。
基本流程:先将数据读取出来,然后在python下进行处理,再将处理结果写回文件。
讨论:
python需要加载第三方模块,且这些第三方模块没有统一。
python不能调用excel自带的函数进行处理,比如sum。。。。。。
python不能控制excel进行画图,只能进行简单的交互。如果要画图。。。。。。
python也可以结合mysql等数据库进行实现,这相对复杂些,但处理方式更多样。
# -*- coding: utf-8 -*-
import sys
from xlrd import open_workbook
##import xlrd
from xlwt import Workbook,Style
##import xlwt
import xlsxwriter
'''
用python来自动生成excel数据文件。
python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,
除此之外,python处理excel还可以用win32com和openpyxl模块
使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式)。
但是用xlrd读取excel是不能对其进行操作的;
而xlwt生成excel文件是不能在已有的excel文件基础上进行修改的,
如需要修改文件就要使用xluntils模块。
pyExcelerator模块与xlwt类似,也可以用来生成excel文件。
如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行处理,Excel 也支持此格式。
但标准的 Excel 文件(xls/xlsx)具有较复杂的格式,并不方便像普通文本文件一样直接进行读写,需要借助第三方库来实现。
它们有个缺陷,就是只能处理 xls 文件。
如果你想用新版本的 xlsx,可以考虑 openpyxl 和 xlsxwriter。
常用的方法:
open_workbook 打开文件
sheet_by_index 获取某一个表单
sheets 获取所有表单
cell_value 获取指定单元格的数据
特别要注意的是,选取读取表单时,要使用 sheet_by_index,
而在选取写入表单时,则要用 get_sheet。
'''
print 'START\n'
print 'xlwt\n'
wb = Workbook()
ws = wb.add_sheet('Type examples')
ws.row(0).write(0,u'\xa3')
ws.row(0).write(1,u'Text')
wb.save('types.xls')
print 'xlsxwriter\n'
workbook = xlsxwriter.Workbook('types.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello')
workbook.close()
print 'xlrd\n'
wb = open_workbook('types.xls')
for s in wb.sheets():
print 'Sheet:', s.name
for row in range(s.nrows):
values = []
for col in range(s.ncols):
values.append(s.cell(row,col).value)
print ','.join(values)
print
print '\nEND'
如何将结果汇总保存起来,并查看修改?
解决方案:
python结合excel可以对数据进行保存和增删改查。
基本流程:先将数据读取出来,然后在python下进行处理,再将处理结果写回文件。
讨论:
python需要加载第三方模块,且这些第三方模块没有统一。
python不能调用excel自带的函数进行处理,比如sum。。。。。。
python不能控制excel进行画图,只能进行简单的交互。如果要画图。。。。。。
python也可以结合mysql等数据库进行实现,这相对复杂些,但处理方式更多样。
# -*- coding: utf-8 -*-
import sys
from xlrd import open_workbook
##import xlrd
from xlwt import Workbook,Style
##import xlwt
import xlsxwriter
'''
用python来自动生成excel数据文件。
python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,
除此之外,python处理excel还可以用win32com和openpyxl模块
使用xlrd读取文件,使用xlwt生成Excel文件(可以控制Excel中单元格的格式)。
但是用xlrd读取excel是不能对其进行操作的;
而xlwt生成excel文件是不能在已有的excel文件基础上进行修改的,
如需要修改文件就要使用xluntils模块。
pyExcelerator模块与xlwt类似,也可以用来生成excel文件。
如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行处理,Excel 也支持此格式。
但标准的 Excel 文件(xls/xlsx)具有较复杂的格式,并不方便像普通文本文件一样直接进行读写,需要借助第三方库来实现。
它们有个缺陷,就是只能处理 xls 文件。
如果你想用新版本的 xlsx,可以考虑 openpyxl 和 xlsxwriter。
常用的方法:
open_workbook 打开文件
sheet_by_index 获取某一个表单
sheets 获取所有表单
cell_value 获取指定单元格的数据
特别要注意的是,选取读取表单时,要使用 sheet_by_index,
而在选取写入表单时,则要用 get_sheet。
'''
print 'START\n'
print 'xlwt\n'
wb = Workbook()
ws = wb.add_sheet('Type examples')
ws.row(0).write(0,u'\xa3')
ws.row(0).write(1,u'Text')
wb.save('types.xls')
print 'xlsxwriter\n'
workbook = xlsxwriter.Workbook('types.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello')
workbook.close()
print 'xlrd\n'
wb = open_workbook('types.xls')
for s in wb.sheets():
print 'Sheet:', s.name
for row in range(s.nrows):
values = []
for col in range(s.ncols):
values.append(s.cell(row,col).value)
print ','.join(values)
print '\nEND'
相关文章推荐
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
- python第三方库——xlrd和xlwt操作Excel文件学习
- python 6-5 如何读写excel文件 使用第三方库xlrd 和 xlwt,这两个库分别用于excel读和写
- python excel 的相关操作(使用 xlrd xlwt 读写)
- 【Python】excel读写操作 xlrd & xlwt
- python操作Excel读写--使用xlrd和xlwt
- 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
- [Python笔记] 使用xlrd和xlwt进行简单的excel表格读写操作
- Python中xlrd、xlwt、win32com模块对xls文件的读写操作
- 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
- python操作Excel读写--使用xlrd
- python操作Excel读写--使用xlrd
- python操作Excel读写--使用xlrd
- python操作Excel读写--使用xlrd
- python操作Excel读写(使用xlrd)
- Python读取excel文件(xlrd,xlwt)
- python操作Excel读写(使用xlrd和xlrt)
- python操作Excel读写--使用xlrd
- python写excel文件,openpyxl, xlrd, xlwt,xlutils