python3爬虫初探(六)之EXCEL
在爬取數據之后,數據的保存就成為一個新的問題,一般不太大的的數據存儲到EXCEL就可以了。這里介紹一個python的第三方庫——xlsxwriter.
這個庫的安裝就不介紹了,pip就可以,不用FQ。這里僅介紹一些簡單常用的命令。
首先,說明一下,xlsxwriter只能寫入數據,不能讀取和修改數據(讀取和修改可以用xlrd和xlwt)。上代碼。
?
import xlsxwriterworkbook = 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操作Excel文件學習
一、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
總結
以上是生活随笔為你收集整理的python3爬虫初探(六)之EXCEL的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python3爬虫初探(五)之从爬取到保
- 下一篇: python3爬虫初探(七)使用MySQ
