Pandas, Gspread, таблица схлопывается
Делаю скрипт для переноса данных из CSV в Google Sheet. Перенос работает, но pandas считывает таблицу без столбцов. Хотя документ выгрузился нормально... (upd,delimiter=';'помог), но сейчас другие ошибки пошли и данные не выгружаются
import json
from google.oauth2.service_account \
import Credentials
import gspread as gs
import requests
import pandas as pd
import numpy as np
import pandas
import csv
import codecs
import gspread
#Авторизация
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = Credentials.from_service_account_file('service_account.json', scopes=scope)
gc = gspread.authorize(credentials)
#Прочитать CSV файл
data = pd.read_csv('123.csv',, delimiter=';')
print(data)
#открыть документ 12, лист 1
wks = gc.open("12").sheet1
#записать csv на лист
wks.update([data.columns.values.tolist()] + data.values.tolist())
Такой ответ приходит
Traceback (most recent call last):
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\models.py", line 511, in prepare_body
body = complexjson.dumps(json, allow_nan=False)
File "C:\Users\a.oborin\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 234, in dumps
return cls(
File "C:\Users\a.oborin\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Users\a.oborin\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
ValueError: Out of range float values are not JSON compliant
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\a.oborin\PycharmProjects\test gspread\main.py", line 27, in <module>
wks.update([data.columns.values.tolist()] + data.values.tolist())
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\gspread\utils.py", line 702, in wrapper
return f(*args, **kwargs)
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\gspread\worksheet.py", line 1041, in update
response = self.spreadsheet.values_update(
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\gspread\spreadsheet.py", line 226, in values_update
r = self.client.request("put", url, params=params, json=body)
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\gspread\client.py", line 79, in request
response = getattr(self.session, method)(
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\sessions.py", line 647, in put
return self.request("PUT", url, data=data, **kwargs)
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\google\auth\transport\requests.py", line 549, in request
response = super(AuthorizedSession, self).request(
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\sessions.py", line 573, in request
prep = self.prepare_request(req)
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\sessions.py", line 484, in prepare_request
p.prepare(
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\models.py", line 371, in prepare
self.prepare_body(data, files, json)
File "C:\Users\a.oborin\PycharmProjects\test gspread\venv\lib\site-packages\requests\models.py", line 513, in prepare_body
raise InvalidJSONError(ve, request=self)
requests.exceptions.InvalidJSONError: Out of range float values are not JSON compliant
Process finished with exit code 1
Источник: Stack Overflow на русском