Сортировать по объединенной коллекции

Несмотря на то, что уже есть принятый ответ, я думал, что добавлю к телу знания, показывая, как я достиг чего-то подобного, используя пакет requests (который иногда рассматривается как альтернатива urlib.request).

Основа использования codecs.itercode() для решения исходной задачи по-прежнему такая же, как в принятом ответе .

import codecs
from contextlib import closing
import csv
import requests

url = "ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/file_list.csv"

with closing(requests.get(url, stream=True)) as r:
    reader = csv.reader(codecs.iterdecode(r.iter_lines(), 'utf-8'))
    for row in reader:
        print row   

Здесь мы также видим использование потоковой передачи , предоставляемой через пакет requests, чтобы избежать необходимости сначала загружать весь файл по сети в память (что может потребоваться много времени, если файл большой).

Я думал, что это может быть полезно, поскольку это помогло мне, поскольку я использовал requests, а не urllib.request в Python 3.6.

Некоторые из идей (например, с использованием closing()) выбираются из этой аналогичной записи

0
задан Anvesh 26 February 2015 в 12:47
поделиться