Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xlrd 如何使用python从excel中获取特定单元格的命名范围_Xlrd_Named Ranges - Fatal编程技术网

Xlrd 如何使用python从excel中获取特定单元格的命名范围

Xlrd 如何使用python从excel中获取特定单元格的命名范围,xlrd,named-ranges,Xlrd,Named Ranges,我需要获取为特定单元格输入的“命名范围”值 我在excel中输入了(A4,B4)单元格的“命名范围”值,以读取我们使用sh.cell(行,列)的单元格值,但如何获取该单元格的名称范围值 我不知道该怎么做 帮帮我。。提前感谢不幸的是,我没有足够的代表发表评论,因此我将尽我所能理解您的问题 因此,如果我没有弄错的话,在工作表上有一个命名区域,其中由sh.range(“A4:B4”)引用的区域名称是“name_a_range”(我包括下划线,因为名称中不能有空格) 您可以从Sheets.Cells(r

我需要获取为特定单元格输入的“命名范围”值

我在excel中输入了(A4,B4)单元格的“命名范围”值,以读取我们使用sh.cell(行,列)的单元格值,但如何获取该单元格的名称范围值

我不知道该怎么做


帮帮我。。提前感谢

不幸的是,我没有足够的代表发表评论,因此我将尽我所能理解您的问题

因此,如果我没有弄错的话,在工作表上有一个命名区域,其中由sh.range(“A4:B4”)引用的区域名称是“name_a_range”(我包括下划线,因为名称中不能有空格)

您可以从Sheets.Cells(row,col).value中获取值,但您希望通过指定的范围进行此操作

好的,要做到这一点:

Dim valA作为变型,valB作为变型
Dim valArray()作为变量
“”以获取单元格“A4”中的值
valA=sh.Range(“name_a_Range”).单元格(1,1).值
“”以获取单元格“B4”中的值
valB=sh.Range(“name_a_Range”).单元格(1,2).值
“”或者如果已经对Variant()数组进行了调暗(如上所示)
valArray=sh.Range(“名称范围”).值
工作表的范围对象可以是:

“A4”到“B4”范围的表达式,使用单元格 sh.Range(sh.Cells(4,1),sh.Cells(4,2)) “”表达式,范围为“A4”到“B4”,使用xlA1格式 ''哪一个是最熟悉的 sh.范围(“A4:B4”) 范围为“A4”到“B4”的“”表达式,使用名称 sh.Range(“以前的Amedrange”) 对于任何范围,您都可以将其视为自己的阵列(从位置1开始)。 如果范围的大小(尺寸)未知,则可以使用内置的范围功能:

sh.Range(“name\u a\u Range”).Rows.Count“”返回1
sh.Range(“name\u a\u Range”)。Column.Count“”返回2
对于标题中的Python方面,您将使用相同的语法:

尽管如此,我不使用xlrd,而是使用win32com.client通过python驱动Excel

从win32com.client导入分派
app_xl=调度(“Excel.Application”)
wb=app_xl.Workbooks.Open(“Path\\To\\Your\\Workbook.xlsx”)
范围=工作表(1).范围(“名称范围”).值
例如,我在我的一张工作表上运行了以下命令:

>>来自win32com.client导入调度
>>>app_xl=调度(“Excel.Application”)
>>>wb=app\u xl.Workbooks.Open(“C:\***\***\excel\u vba\u tests\getinfo.xlsx”)
>>>rangeValues=wb.Sheets(“Summary”).Range(“avgVolume”).Value
>>>范围值
(u'Avg/Wk',),(十进制('791517.25'),(十进制('796369'),(十进制('769922.8846'),),(十进制('743311.549'),)
在这里,我打开了我的工作簿“getinfo.xlsx”,从名为“Summary”的工作表中,我可以获得命名范围“avgVolume”中的所有值

这对你有帮助吗?因为我不太确定你的问题到底是什么,所以我想我已经尽可能多地抓住了要点

from xlsxwriter.utility import xl_rowcol_to_cell

cell = xl_rowcol_to_cell(1, 2)  # C2

print(cell)