xlrd:当start_colx为0索引时,为什么end_colx被索引?

时间:2014-04-18 00:50:51

标签: python xlrd

给出具有以下布局的Excel工作表:

  A                    | B
1 Name of First Column | Name of Second Column
2 Value in First Column| Value in Second Column

xlrd肯定有一种奇怪的索引方式。首先,一些设置...

import xlrd
f = open("example.xlsx")
wb = xlrd.open_workbook(file_contents=f.read())
sh = wb.sheet_by_index(0)

让我们看看使用row_values的第一行中的内容

print sh.row_values(0, start_colx=0, end_colx=1)

结果

[u'Name of First Column']

出了什么问题? row_values的第一个未标记参数是rowx"'rowx' is a row index, counting from zero"两个colx"'colx' is a column index, counting from zero."

你可能会认为,colx都应该从零开始计算。如果我在end_colx中指定我想在列1上结束,我的意思是第二列,从零开始计算。

1 个答案:

答案 0 :(得分:1)

xlrd观察到的行为让我想起了python的切片符号,就像这样:

 +---+---+---+---+---+
 | H | e | l | p | A |
 +---+---+---+---+---+
 0   1   2   3   4   5
-5  -4  -3  -2  -1

(给出一串“HelpA” - that's from the official docs

因此,如果您从0开始并以0[0:0])结束,则不会检索任何内容。

如果有人有更好的答案,我很乐意听到。只是想记录下来。