У меня есть скрипт 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
Заранее спасибо!
Я пробовал использовать и 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.
Кроме того, Я искал сообщения с похожими проблемами на Stack Overflow и других форумах, чтобы узнать, сталкивался ли кто-нибудь еще с недавними изменениями в Google Sheets или pandas. В большинстве найденных мной решений рекомендуется использовать API Google Таблиц вместо прямого доступа к электронной таблице через URL-адрес. Хотя я понимаю, что API — это надежный подход, для этого простого проекта он кажется чрезмерным, тем более что мой скрипт до сегодняшнего дня работал нормально без него.
Я до сих пор не уверен, что возможно, изменилось, или почему сейчас появляется ошибка HTTP 400, поэтому мы будем очень признательны за любые рекомендации по решению этой проблемы или дальнейшему устранению неполадок!
Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python