所以我对Gspread for python 3有问题
当我做类似的事情时:
x = worksheet.cell(1,1).value
print(x)
然后我得到单元格1,1的值,在我的例子中是:
Nice
但是当我这样做时:
x = worksheet.col_values(1)
print(x)
然后我得到所有结果,如
'Nice', 'Cool','','','','','','','','','','','','','',''
所有空单元格,我不明白,因为我只是为了问我为什么我会得到所有'',空括号以及为什么其他结果也在括号中?我希望有类似的东西:
Nice
Cool
当我调用列的值时,这些是唯一的值。任何人都知道如何获得这样的结果?
根据这个https://github.com/burnash/gspread文件,它应该有效,但不是。
答案 0 :(得分:2)
您将获得列表中包含的所有列数据。它从第一行开始,并将该列中的所有行提供给电子表格的底部(默认为1000行),包括空单元格。文档告诉你:
col_values(col)
返回列col中所有值的列表。此列表中的空单元格将呈现为无。
这似乎已被改为返回空字符串,但原理是相同的。
要获得正确的值,请使用列表推导:
x = [item for item in worksheet.col_values(1) if item]
注意上述内容将删除项目之间的空白行,如果您尝试使用行号很重要的多个列,则可能会导致错位。由于它是一个列表,因此可以通过以下方式访问各个项目:
for item in x:
print(item)