urlopen
вернет экземпляр urllib.response.addinfourl
для запроса ftp.
Для объяснения URL-адресов, файлов и данных URL-адресов, обработанных устаревшими классами URLopener и FancyURLopener, эта функция возвращает объект urllib.response.addinfourl, который может работать как менеджер контекста ...
blockquote>>>> urllib2.urlopen(url) <addinfourl at 48868168L whose fp = <addclosehook at 48777416L whose fp = <socket._fileobject object at 0x0000000002E52B88>>>
На этом этапе
ftpstream
представляет собой файл , такой как объект, использование.read()
вернет содержимое, однакоcsv.reader
требует итерации в этом случае:Определение генератора так:
def to_lines(f): line = f.readline() while line: yield line line = f.readline()
Мы можем создать наш csv-ридер так:
reader = csv.reader(to_lines(ftps))
И с URL
url = "http://pic.dhe.ibm.com/infocenter/tivihelp/v41r1/topic/com.ibm.ismsaas.doc/reference/CIsImportMinimumSample.csv"
Код:
for row in reader: print row
Печатает
>>> ['simpleci'] ['SCI.APPSERVER'] ['SRM_SaaS_ES', 'MXCIImport', 'AddChange', 'EN'] ['CI_CINUM'] ['unique_identifier1'] ['unique_identifier2']