Загрузить CSV из URL-адреса за страницей входа в pandas dataframe - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь загрузить csv-файл в pandas файл данных, но csv-файл доступен только после входа в систему.

Пока что он загружает и print(decoded_content) на экран, но я не могу ' t понять, как загрузить CSV в pandas фрейм данных:

import requests
import urllib2
import pandas as pd
import csv


headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/133.35 (KHTML, like Gecko) Chrome/20.0.2041.120 Safari/521.14'
}

login_data = {
    'username': 'myusername',
    'password': 'mypassword',
    'stayloggedin': '0',
    'login': 'Login'
}

with requests.Session() as s:
    url = 'https://www.domain.tld/en/login.html'
    r = s.get(url, headers=headers)
    r = s.post(url, data=login_data, headers=headers)

    a = s.get('https://www.domain.tld/path/to/file/data.csv')
    decoded_content = a.content.decode('utf-8')

print (decoded_content)

.

Col1;Col2;Col3
0102;120;212
121;122;331

1 Ответ

0 голосов
/ 20 апреля 2020

2020/04/21 Редактировать

Решение:

Я создал TestFile.csv с вашими данными:

Col1;Col2;Col3
0102;120;212
121;122;331

Важно отметить, что разделитель - точка с запятой .

import pandas as pd

df = pd.read_csv('TestFile.csv', sep=';')
print(df)
print(type(df))

Вывод:

   Col1  Col2  Col3
0   102   120   212
1   121   122   331
<class 'pandas.core.frame.DataFrame'>

Process finished with exit code 0

Описание read_csv Существует множество параметров, поскольку файлы .csv не регулируются строгим набором правил.

...