Метод Python запрашивает.get().content возвращает html-код вместо файла

#python #pandas #google-sheets #python-requests

#python #pandas #google-sheets #python-запросы

Вопрос:

Я пытаюсь использовать этот код для создания фрейма данных на основе данных из Google sheet:

 from io import BytesIO
import requests
import pandas as pd

sheet_id = 'my_sheet_id'
req = requests.get(f'https://docs.google.com/spreadsheets/d/{sheet_id}/export?format=csv')
data = req.content
df = pd.read_csv(BytesIO(data))
 

Но вместо данных из таблицы я получаю исходный код страницы в переменных данных, подобных этому:

 b'n<!DOCTYPE html>n<html lang="ru">n  <head>n  <meta charset="utf-8">n  <meta content="width=300, initial-scale=1" name="viewport">n  <meta name="description" content="xd0xa1xd0xbexd0xb7xd0xb4xd0xb0xd0xb2xd0xb0xd0xb9xd1x82xd0xb5 xd1x82xd0xb0xd0xb1xd0xbbxd0xb8xd1x86xd1x8b xd0xb8 xd1x80xd0xb5xd0xb4xd0xb0xd0xbaxd1x82xd0xb8xd1x80xd1x83xd0xb9xd1x82xd0xb5 xd0xb8xd1x85 xd0xb2xd0xbcxd0xb5xd1x81xd1x82xd0xb5 xd1x81 xd0xb4xd1x80xd1x83xd0xb3xd0xb8xd0xbcxd0xb8 xd0xbfxd0xbexd0xbbxd1x8cxd0xb7xd0xbexd0xb2xd0xb0xd1x82xd0xb5xd0xbbxd1x8fxd0xbcxd0xb8xc2xa0xe2x80x92 xd1x81 xd0xbaxd0xbexd0xbcxd0xbfxd1x8cxd1x8exd1x82xd0xb5xd1x80xd0xb0, xd1x82xd0xb5xd0xbbxd0xb5xd1x84xd0xbexd0xbdxd0xb0 xd0xb8xd0xbbxd0xb8 xd0xbfxd0xbbxd0xb0xd0xbdxd1x88xd0xb5xd1x82xd0xb0. xd0xa0xd0xb0xd0xb1xd0xbexd1x82xd0xb0xd0xb9xd1x82xd0xb5 xd0xbdxd0xb0xd0xb4 xd0xb4xd0xbexd0xbaxd1x83xd0xbcxd0xb5xd0xbdxd1x82xd0xb0xd0xbcxd0xb8 xd0xb4xd0xb0xd0xb6xd0xb5 xd0xb1xd0xb5xd0xb7 xd0xbfxd0xbexd0xb4xd0xbaxd0xbbxd1x8exd1x87xd0xb5xd0xbdxd0xb8xd1x8f xd0xba xd0x98xd0xbdxd1x82xd0xb5xd1x80xd0xbdxd0xb5xd1x82xd1x83. xd0x98xd1x81xd0xbfxd0xbexd0xbbxd1x8cxd0xb7xd1x83xd0xb9xd1x82xd0xb5 xd0xa2xd0xb0xd0xb1xd0xbbxd0xb8xd1x86xd1x8b xd0xb4xd0xbbxd1x8f xd1x80xd0xb5xd0xb4xd0xb0xd0xbaxd1x82xd0xb8xd1x80xd0xbexd0xb2xd0xb0xd0xbdxd0xb8xd1x8f xd1x84xd0xb0xd0xb9xd0xbbxd0xbexd0xb2 Excel. xd0x98 xd0xb2xd1x81xd0xb5 xd1x8dxd1x82xd0xbe xd0xb1xd0xb5xd1x81xd0xbfxd0xbbxd0xb0xd1x82xd0xbdxd0xbe. xd0x9exd1x82 Google!">n  <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">n  <title>Google xd0xa2xd0xb0xd0xb1xd0xbbxd0xb8xd1x86xd1x8bxc2xa0xe2x80x92 xd0xb1xd0xb5xd1x81xd0xbfxd0xbbxd0xb0xd1x82xd0xbdxd0xbe xd1x81xd0xbexd0xb7xd0xb4xd0xb0xd0xb2xd0xb0xd0xb9xd1x82xd0xb5 xd0xb8 xd1x80xd0xb5xd0xb4xd0xb0xd0xbaxd1x82xd0xb8xd1x80xd1x83xd0xb9xd1x82xd0xb5 xd1x82xd0xb0xd0xb1xd0xbbxd0xb8xd1x86xd1x8b xd0xb2 xd0x98xd0xbdxd1x82xd0xb5xd1x80xd0xbdxd0xb5xd1x82xd0xb5.</title>n  <style>n  @font-face {n  font-family: 'Open Sans';n  font-style: normal;n  font-weight: 300;n  src: url(//fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OVuhs.ttf) format('truetype');n}n@font-face {n  font-family: 'Open Sans';n  font-style: normal;n  font-weight: 400;n  src: url(//fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0e.ttf) format('truetype');n}n  </style>n  <style>n  h1, h2 {n  -webkit-animation-duration: 0.1s;n  -webkit-animation-name: fontfix;n  -webkit-animation-iteration-count: 1;n  -webkit-animation-timing-function: linear;n  -webkit-animation-delay: 0;n  }n  @-webkit-keyframes fontfix
 

Это всего лишь часть вывода.

Если я попытаюсь просто ввести URL-адрес в браузере: https://docs.google.com/spreadsheets/d /{sheet_id}/export?format=csv Загрузка файла начинается без каких-либо проблем.

Что я должен сделать, чтобы получить данные правильным образом?

Заранее спасибо!

Комментарии:

1. Похоже, вы написали ошибку (также в вашем коде, что является проблемой) format , как foramt и в переменной запроса {Хотя изменение

2. С foramt исправленной опечаткой ваш код работает для меня.

3. Спасибо, что указали на эту орфографическую ошибку. Мой плохой. Но, тем не менее, даже с этим исправлением проблема остается прежней ((