Заголовок: «Ошибка HTTP 400 при чтении Google Таблиц с помощью панд на Python» ⇐ Python

Программы на Python
Anonymous
Заголовок: «Ошибка HTTP 400 при чтении Google Таблиц с помощью панд на Python»

Сообщение Anonymous »

Я новичок в программировании в целом и надеялся, что кто-нибудь поможет мне с этим вопросом:
У меня есть скрипт Python, который до сегодняшнего дня работал нормально. Скрипт считывает электронную таблицу Google Sheets в DataFrame pandas, а затем продолжает обработку. Код, который я использую для чтения таблицы, выглядит следующим образом:

Код: Выделить всё

import pandas as pd

id = 'sheets ID'
df = pd.read_csv(f'https://docs.google.com/spreadsheets/d/%7Bid%7D/export?format=csv')\`
Раньше этот код работал без проблем. Однако, когда я запустил его сегодня, я получил следующую ошибку:

Код: Выделить всё

HTTPError                                 Traceback (most recent call last)
...
raise HTTPError(req.full_url, code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
Кто-нибудь знает, что могло вызвать такое внезапное изменение? Может ли это быть связано с изменениями разрешений Google Sheets или проблемой с моим кодом? Будем очень признательны за любые предложения по устранению или исправлению этой проблемы!
Заранее спасибо!
Я пробовал использовать и pd.read_csv, и pd. .read_excel для чтения данных из электронной таблицы Google Sheets, ожидая загрузки данных в DataFrame pandas, как и раньше. Вот что я сделал:
Сначала я запустил исходный код, использующий pd.read_csv:

Код: Выделить всё

id = '1jMHxJcfKd5kwakxa3gSovZOTpCFHZP367iQehShATWk'
df = pd.read_csv(f'https://docs.google.com/spreadsheets/d/{id}/export?format=csv')
До сегодняшнего дня это всегда работало правильно, и я ожидал, что данные будут продолжать загружаться без проблем.
После получения ошибки HTTP 400: Bad Прошу вас, я попробовал переключиться на pd.read_excel, чтобы посмотреть, изменит ли использование формата .xlsx:

Код: Выделить всё

df = pd.read_excel(f'https://docs.google.com/spreadsheets/d/{id}/export?format=xlsx')
However, I encountered a similar error message.
Я также проверил разрешения для электронной таблицы и подтвердил, что она общедоступна (как и раньше), и убедился, что URL-адрес правильный.
Кроме того, Я искал сообщения с похожими проблемами на Stack Overflow и других форумах, чтобы узнать, сталкивался ли кто-нибудь еще с недавними изменениями в Google Sheets или pandas. В большинстве найденных мной решений рекомендуется использовать API Google Таблиц вместо прямого доступа к электронной таблице через URL-адрес. Хотя я понимаю, что API — это надежный подход, для этого простого проекта он кажется чрезмерным, тем более что мой скрипт до сегодняшнего дня работал нормально без него.
Я до сих пор не уверен, что возможно, изменилось, или почему сейчас появляется ошибка HTTP 400, поэтому мы будем очень признательны за любые рекомендации по решению этой проблемы или дальнейшему устранению неполадок!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

Вернуться в «Python»