插入到 Google 表格时出现 GSpread 错误:超出范围的浮点值不符合 JSON

问题描述 投票:0回答:0

我有以下功能:

import os,sys
import configparser
from mystrings import *
from mypandas import *
import gspread
import gspread_dataframe as gd
from oauth2client.service_account import ServiceAccountCredentials
    
def send_data_gsheet(file_id,worksheet_name,df,mode='a'):
            gc = gspread_connect()
            sh = gc.open_by_key(file_id)
            ws = None
        
        try:
            ws = sh.worksheet(worksheet_name)
        except: #create worksheet if worksheet isn't exist
            print("Worksheet '{}' is not found. Creating one...".format(worksheet_name))
            sh.add_worksheet(worksheet_name,1000,1000)
            ws = sh.worksheet(worksheet_name)
            print("Worksheet '{}' created.".format(worksheet_name))
        print_text_line(1,"Current worksheet is: '{}'".format(ws.title))
           
        if(mode=='w'):
            ws.clear()
            gd.set_with_dataframe(worksheet=ws,dataframe=df,include_index=False,include_column_header=True,resize=True)
            return True
        elif(mode=='a'):
            ws.add_rows(df.shape[0])
            gd.set_with_dataframe(worksheet=ws
                                  ,dataframe=df
                                  ,include_index=False
                                  ,include_column_header=False
                                  ,row=ws.row_count+1
                                  ,resize=False)
            return True
        return False

我可以连接

gspread
。在上面的函数中,我想将数据帧发送到 Google 表格,如果找不到工作表,则自动创建一个表格。我可以使用以下命令调用函数:

send_data_gsheet(file_id = '1qDdOpKoYQ5R4VlP612_T845RJyQni2-V9IuJ676E07c'
                 ,worksheet_name='brand2'
                 ,df=df
                 ,mode='w')

我还可以使用

add_worksheet()
创建新文件。 现在我想知道为什么它不将数据帧发送到 Google 表格中? 它返回以下错误:

超出范围的浮点值不符合 JSON

我该如何解决?

python google-sheets gspread
© www.soinside.com 2019 - 2024. All rights reserved.