xlrd
這裏的文檔 http://www.python-excel.org/ 提到它現在可能在最新版本中,但沒有說明如何。如何使用xlrd,Python定位和訪問命名範圍(全局,每個工作表)?
1
A
回答
4
我不確定你在看什麼;對命名區域的xlrd訪問已經有幾年了(在0.6.0版本中;最新版本是0.7.1),並且從頭開始提供了完整的文檔。
This is the xlrd documentation link這是在您提到的http://www.python-excel.org/頁面上給出的。打擊PageDown兩次,您應該看到一個標題爲的部分命名引用,常量,公式和宏。這給出了一個概述,並指出您需要記錄Book.name_*
方法& Name
對象以及演示腳本。
請注意,這是SVN中繼版本的文檔,適用於將來的版本;它可能會提到一個額外的便利方法,它在當前發佈的xlrd版本中不可用(您可以從PyPI獲得),其中包含相關的文檔文件。
更新響應「」「我得到了這麼遠:someRange = book.name_map [u'somerange'] [0]現在我想遍歷它,獲取值,獲取它的尺寸等。 「」「」
你打電話給someRange
是Name
類的一個實例。現在我該怎麼辦?我嘗試了dir(someRange)和help(someRange)並且幫助不大。您需要閱讀documentation of that class。如果你想讀取the demonstration script xlrdnameAPIdemo.py並試着在你的xls文件上運行它會有所幫助。請注意,「獲取其維度」在邏輯上位於「迭代它,獲取值」之前;便利方法Name.area2d
可能是你需要的。
1
這不是小事,它在我的情況下,只有在XLS工作沒有XLSX(可能是因爲我的XLSX name.evaluated == 0
):
name = book.name_map['my_named_range'][0]
assert name.result.kind == xlrd.oREF
ref3d = name.result.value[0]
for sheet_index in range(ref3d.shtxlo, ref3d.shtxhi):
sheet = book.sheet_by_index(sheet_index)
for row in range(ref3d.rowxlo, min(ref3d.rowxhi, sheet.nrows)):
for col in range(ref3d.colxlo, min(ref3d.colxhi, sheet.ncols)):
cell = sheet.cell(row, col)
# TODO: Do something with that cell.
要限制在板材的情況下,列和行數的範圍如A:A
或1:1
(即整行或列)。
相關問題
- 1. Python xlrd表名的命名範圍
- 2. 命名函數定義如何在Javascript的非全局範圍內工作?
- 3. Webpack:如何在全局範圍內使用命名導出
- 4. 使用xlrd訪問Python中Excel電子表格的命名範圍的交集值?
- 5. Javascript函數未訪問全局範圍?
- 6. 如何在全局範圍PHP中訪問局部變量?
- 7. 跨多個工作表重複命名範圍的總和?
- 8. 引用工作表公式中的命名範圍的問題
- 9. docmd.TransferSpreadsheet訪問 - > Excel ////指定目標工作表和範圍
- 10. Python全局變量範圍
- 11. VBA範圍不工作,全局參數?
- 12. VBA工作表Sub創建命名範圍其他工作表
- 13. JavaScript全局對象和全局範圍
- 14. 如何從全局範圍之外訪問Safari擴展設置?
- 15. 如何在__main__範圍內訪問全局變量?
- 16. Python的本地範圍和全局範圍
- 17. 對於每個命名範圍
- 18. eval()和全局範圍
- 19. Progammatically確定命名範圍是否作用於工作簿
- 20. Excel Interop:從特定工作簿獲取命名錶(範圍)
- 21. 從全局範圍訪問定義的Vue組件
- 22. 從全局範圍訪問函數內定義的函數?
- 23. 「對象全局失敗的方法範圍」調用VBA中的命名範圍
- 24. 代碼在全局範圍內工作,但不在本地範圍內工作?
- 25. 命名範圍工作,但協會不
- 26. Rails的命名範圍不工作
- 27. [Talend]如何定義一個全球範圍內的工作
- 28. 使用命名範圍
- 29. 使用命名錶設置範圍
- 30. 在Python中使用xlrd和xlwt編寫/創建工作表
好的約翰,所以我得到了這麼多:'someRange = book.name_map [u'somerange'] [0]'現在我想遍歷它,獲取值,獲得它的尺寸等。做?我嘗試過'dir(someRange)'和'help(someRange)',它沒有太大的幫助。謝謝。 – 2010-07-02 14:29:04