您的位置:首页 > 编程语言 > Python开发

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