Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pyExcelerator or xlrd - How to FIND/SEARCH a row for the given few column data?

Python communicating with EXCEL... i need to find a way so that I can find/search a row for given column datas. Now, i m scanning entire rows one by one... It would be useful, If there is some functions like FIND/SEARCH/REPLACE .... I dont see these features in pyExcelerator or xlrd modules.. I dont want to use win32com modules! it makes my tool windows based!

FIND/SEARCH Excel rows through Python.... Any idea, anybody?


2 Answers

@John Fouhy: [I'm the maintainer of xlwt, and author of xlrd]

The spreadsheet-reading part of pyExcelerator was so severely deprecated that it vanished completely out of xlwt. To read any XLS files created by Excel 2.0 up to 11.0 (Excel 2003) or compatible software, using Python 2.1+, use xlrd

That "simple optimi[sz]ation" isn't needed with xlrd:

import xlrd
book = xlrd.open_workbook("foo.xls")
sheet = book.sheet_by_number(0) # alternatively: sheet_by_name("Budget")
for row_index in xrange(sheet.nrows): 
    for col_index in xrange(sheet.ncols):
like image 110
John Machin Avatar answered Dec 31 '25 02:12

John Machin


"Now, i m scanning entire rows one by one"

What's wrong with that? "search" -- in a spreadsheet context -- is really complicated. Search values? Search formulas? Search down rows then across columns? Search specific columns only? Search specific rows only?

A spreadsheet isn't simple text -- simple text processing design patterns don't apply.

Spreadsheet search is hard and you're doing it correctly. There's nothing better because it's hard.

like image 20
S.Lott Avatar answered Dec 31 '25 04:12

S.Lott



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!