gpt4 book ai didi

python - gspread 所选列列表的列表

转载 作者:行者123 更新时间:2023-12-01 07:45:13 28 4
gpt4 key购买 nike

我有一个像这样的谷歌电子表格

A    B    C    D
0 1 2 3
4 5 7
8 9 8 7
6 5 3

我可以将所有这些值作为列表列表并将它们保存在 DataFrame 中,如下所示:

import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pandas as pd


scope=['my_scope']

credentials = ServiceAccountCredentials.from_json_keyfile_name('my_credentials', scope)

gc = gspread.authorize(credentials)

GsheetName = 'here_the_name_of_my_spreadsheet'
workSheetName = 'here_the_wsheet_name'

sht = gc.open(GsheetName)
wks = sht.worksheet(workSheetName)

get_values = wks.get_all_values()

df= pd.DataFrame(get_values)

所以 df 是

   0    1    2    3
0 A B C D
1 0 1 2 3
2 4 5 nan 7
3 8 9 8 7
4 6 5 nan 3

我想做同样的事情,但只选择单元格为空且具有 NAN 值的 B 列和 D 列,如下所示

   0    1    
0 B C
1 1 2
2 5 nan
3 9 8
4 5 nan

如何在不操作 df 的情况下做到这一点?我想直接根据电子表格的值创建它。

get_all_values() 方法获取所有工作表的值,但我只需要一些列和行,并且我没有找到如何使用此方法定义范围或 gspread 库的其他方法允许这样做。

最佳答案

  • 您想要使用 gspread 直接从“B:C”检索值,如下所示。

    Input values: Values on Spreadsheet
    A B C D
    0 1 2 3
    4 5 7
    8 9 8 7
    6 5 3

    Output values: Values you want to retrieve
    0 1
    0 1 2
    1 5 None
    2 9 8
    3 5 None
  • 在您的问题中,您说过仅选择单元格为空且具有 NAN 值的 B 列和 D 列。但您的输出值似乎是“B”和“C”列中的值。因此我修改为从“B”和“C”列中检索值。

如果我的理解是正确的,那么修改一下怎么样?

来自:

get_values = wks.get_all_values()

致:

get_values = sht.values_get(range=workSheetName + '!B:C')['values']

注意:

  • 如果您在脚本中不使用 wks,则可以删除 wks = sht.worksheet(workSheetName)

引用:

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

关于python - gspread 所选列列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497294/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com