Скачать набор данных. Это Zip-файл. Содержит множество CSV-файлов в блокноте для анализа данных. - PullRequest
0 голосов
/ 06 октября 2018

Я выполняю проект по науке о данных.

Я использую блокнот Google для своей работы

Здесь находится мой набор данных, к которому я хочу получить доступ напрямуюPython Notebook.

Я использую следующую строку кода, чтобы выйти из него.

df = pd.read_csv('link')

Но командная строка выдает ошибку, как показано ниже

Что мне делать

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Используйте модуль urllib, чтобы загрузить в память zip-файл, который возвращает файлоподобный объект, который вы можете прочитать (), передать его в ZipFile (стандартный пакет).

Так как здесь есть несколько файлов, таких как ['test_data / AggregateData_Test.csv', 'test_data / TransactionData_Test.csv', 'train_data / AggregateData_Train.csv', 'train_data / Column_Description.xlsx', 'train_data / sample_submissioncs.csv', 'train_data_d_trl_Train_Train_Traction_Train_Traction_Train_Traction_Train_Rate.jpg)*

Загрузить его в поле данных с именем файла в качестве ключа.В целом код будет.

from urllib.request import urlopen
from zipfile import ZipFile
from io import BytesIO


zip_in_memory = urlopen("https://he-s3.s3.amazonaws.com/media/hackathon/hdfc-bank-ml-hiring-challenge/application-scorecard-for-customers/05d2b4ea-c-Dataset.zip").read()

z = ZipFile(BytesIO(zip_in_memory))
dict_of_dfs = {file.filename: pd.read_csv(z.open(file.filename))\
               for file in z.infolist()\
               if file.filename.endswith('.csv')}

Теперь вы можете получить доступ к фреймам данных каждого CSV, например dict_of_dfs['test_data/AggregateData_Test.csv'].

. Конечно, все это не нужно, если вы просто скачаете ZIP-файл по ссылке.и передать его в виде почтового файла.

0 голосов
/ 06 октября 2018

Трудно ответить точно, так как не хватает данных, но здесь вы идете для такого типа запроса.

вам нужно импортировать ZipFile & urlopen, чтобы получить данные из URL и извлечь данные из Zipи использовать файл csv для обработки панд.

from zipfile import ZipFile
from urllib.request import urlopen   
import pandas as pd
import os

URL = 'https://he-s3.s3.amazonaws.com/media/hackathon/hdfc-bank-ml-hiring-challenge/application-scorecard-for-customers/05d2b4ea-c-Dataset.zip'

# open and save the zip file onto computer
url = urlopen(URL)
output = open('05d2b4ea-c-Dataset.zip', 'wb')    # note the flag:  "wb"        
output.write(url.read())
output.close()

# read the zip file as a pandas dataframe
df = pd.read_csv('05d2b4ea-c-Dataset.zip')    zip files       

# if keeping on disk the zip file is not wanted, then:
os.remove(zipName)   # remove the copy of the zipfile on disk
...