在爬取数据之后,数据的保存就成为一个新的问题,一般不太大的的数据存储到EXCEL就可以了。这里介绍一个python的第三方库——xlsxwriter.
这个库的安装就不介绍了,pip就可以,不用FQ。这里仅介绍一些简单常用的命令。
首先,说明一下,xlsxwriter只能写入数据,不能读取和修改数据(读取和修改可以用xlrd和xlwt)。上代码。
import xlsxwriter
workbook = xlsxwriter.Workbook("xlsx_test.xlsx") # 创建一个名为 xlsx_test.xlsx 的工作薄
worksheet1 = workbook.add_worksheet("ID") # 新增一个工作表,可传入表名,不传默认为sheet1
worksheet2 = workbook.add_worksheet("姓名") # 重复命令可新增多张数据表
# 设置列的参数,20,10代表字符数
worksheet1.set_column("A:A", 20)
worksheet1.set_column('B:B', 10)
# 插入数据,传入三个参数
worksheet1.write(0, 0, "hello world!") # 三个参数分别为:行,列,数据。注意行列索引值从零开始。
# 最后要关闭工作薄,完成数据的保存
workbook.close()
一、xlrd和xlwt的安装
xlrd和xlwt是python的第三方库,所以是需要自己安装的,可以在python的官网https://pypi.python.org/pypi下载该模块来安装,也可以通过其他手段,比如easy_install或者pip,我在Win7环境下已经安装好pip,所以就在命令符窗口中用如下命令来安装xlrd和xlwt。
pip install xlrd
pip install xlwt
运行过程如下:
二、xlrd使用介绍
1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3、使用技巧 获取一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')#通过名称获取
获取整行和整列的值(数组) table.row_values(i) table.col_values(i) 获取行数和列数 nrows = table.nrows ncols = table.ncols 循环行列表数据 for i in range(nrows): print table.row_values(i) 单元格 cell_A1 = table.cell(0,0).value cell_C4 = table.cell(2,3).value 使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value 简单的写入 row = 0 col = 0 # 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ctype = 1 value = '单元格的值' xf = 0 # 扩展的格式化 table.put_cell(row, col, ctype, value, xf) table.cell(0,0) #单元格的值' table.cell(0,0).value #单元格的值'
用例如下:
[python] view plain copy
三、xlwt使用介绍
Xlwt简介: 功能:用于生成97/2000/XP/2003xls文件。 Python版本:Python2.3 to 2.7 当前版本:0.7.5 平台:跨平台 相关模块: csv python标准模块。推荐。 xlrd 读取 .xls, .xlsx 文件。 xlutils xlrd和xlwt的集合。 openpyxl 读写 Excel 2007 xlsx/xlsm文件 。纯python,效率不高。 Matplotlib 2D作图模块,适用于基于excel作图。 Pywin32 python windows扩展 ,不跨平台,通过COM口连接excel。 Pyxll 在excel中使用python替代vbs。http://www.pyxll.com/。类似模块有pyinex。Python For Excel http://www.opentradingsystem.com/PythonForExcel/main.html XlsxWriter 写xlsx文件。纯python。 快速入门 下面例子,创建一个名为mini.xls的文件,它有一个空sheet:'xlwt was here'。代码见mini.py。 fromxlwt import * w =Workbook() ws = w.add_sheet('xlwtwas here') w.save('mini.xls') Workbook类初始化时有encoding和style_compression参数。 encoding,设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。当然要记得在文件头部添加: # -*- coding: utf-8-*- style_compression 表示是否压缩,不常用。 Workbook 还有一些属性: Owner 设置文档所有者。 country_code: 国家码 wnd_protect: 窗口保护 obj_protect: 对象保护 Protect: 保护 backup_on_save: 保存时备份 Hpos: 横坐标 Vpos: 纵坐标 Width: 宽度 Height: 高度 active_sheet: 活动sheet tab_width: tab宽度 wnd_visible: 窗口是否可见 wnd_mini: 窗口最小化 hscroll_visible: 横向滚动条是否可见。 vscroll_visible: 纵向滚动条是否可见。 tabs_visible: tab是否可见。 dates_1904: 是否使用1904日期系统 use_cell_values: 单元格的值 default_style: 默认样式 colour_RGB: 颜色 方法有:add_style,add_font,add_str,del_str,str_index,add_rt,rt_index,add_sheet,get_sheet,raise_bad_sheetname,convert_sheetindex,setup_xcall,add_sheet_reference。
用例如下:
[python] view plain copy
参考资料:
下载地址:https://pypi.python.org/pypi/xlwt/0.7.5
官方网址:http://www.python-excel.org/
介绍胶片:http://www.simplistix.co.uk/presentations/python-excel.pdf