Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
408 views
in Technique[技术] by (71.8m points)

python library or code to read already open Excel file

Suppose I have an Excel 2013 file already open (say XYZ.xlsx) - this file gets some data via a DDE link. Suppose I want to read certain cells (say A1:B3) from a worksheet (say Sheet1). How can I do it in Python 3 (I am using Python 3.4.2.4 / Winpython installation)?

I found the openpyxl package, but I couldn't understand how to make it read an active open workbook?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I am not 100% sure if this solution works with DDE (is the file being written to disk somewhere?)

I recommend using xlrd (https://github.com/python-excel/xlrd). I personally installed it via pip. Then to simply read A1:B3 do as such (ripped off the docs):

from xlrd import open_workbook

wb = open_workbook('spreadsheet.xlsx')
for s in wb.sheets():
     print('Sheet:',s.name) # you can check for the sheet name here if you want
     for row in range(2): #the first 2 rows (A and B) (use s.nrows for all)
         values = []
         for col in range(3): #the first 3 columns (use s.ncols for all)
            values.append(str(s.cell(row,col).value))
         print(','.join(values))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...