Ошибка при загрузке фрейма данных на листы Google с помощью Python? - PullRequest
1 голос
/ 01 мая 2019

Я извлекаю лист Google в виде pandas dataframe, затем добавляю столбец в df и затем загружаю его обратно. Я сталкиваюсь с этой ошибкой:

Object of type 'int64' is not JSON serializable

Ниже приведен код:

#reading and writing on google sheets

gc = pygsheets.authorize(service_file="/Projects/big_query_funnel_v1/input/AppFunnelgs-e1968da.json")

sheet=gc.open('Daily Drop Offs Summary')
wks = sheet.worksheet_by_title('New_Funnel')

#converting to pandas df
ds = wks.get_as_df()

#making a new column
ds.insert(loc=1, column=str(dates), value=edf.vals)

print(ds.head())

wks.set_dataframe(ds, 'A1')

Я получаю сообщение об ошибке в последней строке кода, т. Е. При загрузке обратно df.

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Следующие работы (без изменений в логике):

edf = pd.DataFrame({"vals":[1,2,3,4,5]}, dtype="int64")
dates = "column_name"



#reading and writing on google sheets

gc = pygsheets.authorize(service_file="/Projects/big_query_funnel_v1/input/AppFunnelgs-e1968da.json")

sheet=gc.open('Daily Drop Offs Summary')
wks = sheet.worksheet_by_title('New_Funnel')

#converting to pandas df
ds = wks.get_as_df()

#making a new column
ds.insert(loc=1, column=str(dates), value=edf.vals)

print(ds.head())

wks.set_dataframe(ds, 'A1')

Версии пакета:

pygsheets==2.0.1
pandas==0.23.4
0 голосов
/ 01 мая 2019

Json не понимает пустое целое число, поэтому перед загрузкой на листы Google необходимо преобразовать кадр данных в строку или int.

ds = ds.applymap(str)
...