使用Gspread和Python从googlesheet获取所有列值

2024-10-01 09:20:31 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我对python3的Gspread有一个问题

当我做类似的事情时:

x = worksheet.cell(1,1).value
print(x)

然后我得到单元格1,1的值,在我的例子中是:

^{pr2}$

但当我这么做的时候:

x = worksheet.col_values(1)
print(x)

然后我得到所有的结果

'Nice', 'Cool','','','','','','','','','','','','','',''

所有的空单元格,我不明白,因为我只是问值,为什么我得到所有的“”,空括号,为什么其他结果也在括号里?我希望有这样的东西:

Nice
Cool

当我调用列的值时,这些值是唯一的值。有人知道怎么得到这样的结果吗?在

根据这篇https://github.com/burnash/gspread文档,它应该可以工作,但不能。在


Tags: valuecellcol事情python3例子括号values
1条回答
网友
1楼 · 发布于 2024-10-01 09:20:31

您将获得列表中包含的所有列数据。它从第一行开始,将该列中的所有行都放到电子表格的底部(默认为1000行),包括空单元格。文档告诉您:

col_values(col)
Returns a list of all values in column col.

Empty cells in this list will be rendered as None.

这似乎已经改为返回空字符串,但原理是相同的。在

要只获取值,请使用列表理解:

x = [item for item in worksheet.col_values(1) if item]

请注意,上面的操作将删除项之间的空行,如果您尝试处理行数很重要的多个列,这可能会导致不对齐。由于它是一个列表,因此可以通过以下方式访问各个项目:

^{2}$

相关问题 更多 >