今天一同學給我發來一個Excel文件,讓我幫他找一些信息,打開一開 8000多條數據。自己手工處理是不可能完成的的啦。作為一名程序員,當然要用程序來處理。處理生活中的問題當然是Python最為方便啦。利用萬能的 Google 搜索 Python Excel,點擊第一條結果http://www.python-excel.org/ ,發先這個東西 能夠跨平台處理 Excel。廢話不多說,按照文檔一步步去做,要安裝 三個包 xlrd(用於讀Excel), xlwt(用於寫Excel),xlutils(處理Excel的工具箱)。
上面的英文文檔很齊全,這里就不多說了,因為我只需要獲取Excel里面的數據,所以只要簡單的讀取出來。
1 from xlrd import open_workbook 2 import re 3 4 #創建一個用於讀取sheet的生成器,依次生成每行數據,row_count 用於指定讀取多少行, col_count 指定用於讀取多少列 5 def readsheet(s, row_count=-1, col_cout=-1):# 6 # Sheet 有多少行 7 nrows = s.nrows 8 # Sheet 有多少列 9 ncols = s.ncols 10 row_count = (row_count if row_count > 0 else nrows) 11 col_count = (col_count if col_count > 0 else ncols) 12 row_index = 0 13 while row_index < row_count: 14 yield [s.cell(row_index, col).value for col in xrange(col_count)] 15 row_index += 1 16 17 wb = open_workbook('simple.xls') #打開Excel文件 18 # 讀取Excel中所有的Sheet 19 for s in wb.sheets(): 20 for row in readsheet(s, 10, 10):# 只讀取每個Sheet的前10行,前10列(當然你要確保,你的數據多余10行,且多余10列) 21 print row
非常簡單, 主要用到 xlrd 四個特性 open_workbook , wb.sheets(), s.nrows-(行數),s.ncols -(列數), s.cell(row, col).value- (獲取指定單位處的值)。
這幾個函數用於處理一般的讀取操作完全夠了。