Найти - Пользователи
Полная версия: Группировка построчного списка в переменную
Начало » Python для новичков » Группировка построчного списка в переменную
1
nv_fan
Здравствуйте.

Есть файл с построчным списком по типу:

 unit146809249
unit69241006
unit113675707
unit25385883
unit95974133
unit6623002
unit138770491
unit70347215
unit131025565
unit145417947
unit9429425
unit116245250
unit17575336
unit87961665
unit139106074
unit77073147
unit126981091
unit35817574
unit24165474
unit13061199
unit72816506
unit21613823
unit132808808
unit103735209
unit92109726
unit106354037
unit7811032
unit69230804
unit31203532
unit101320032

Нужно последовательно изымать из файла строки (с первой по n-ую, до 100 включительно) и группировать их через символ “|” для последующей подстановки в переменную и обработки через api запрос.
Должна получаться строка по типу:

 unit146809249|unit69241006|unit113675707|unit25385883|unit95974133|unit6623002|unit138770491|unit70347215|unit131025565|unit145417947|unit9429425|unit116245250|unit17575336|unit87961665|unit139106074|unit77073147|unit126981091|unit35817574|unit24165474|unit13061199

Подскажите как организовать. Обработку построчно я смог организовать, но это крайне медленно, особенно учитывая что что api позволяет обрабатывать “пакетом”. А вот как сгрупировать не пойму
py.user.next
  
>>> # text = fp.read()
... 
>>> text = """
... unit146809249
... unit69241006
... unit113675707
... unit25385883
... unit95974133
... """
>>> 
>>> lst = [i for i in text.splitlines() if i]
>>> 
>>> out = '|'.join(lst)
>>> out
'unit146809249|unit69241006|unit113675707|unit25385883|unit95974133'
>>>
Striver
как я понимаю, наибольшее затруднение у вопрошающего вызывает вот эта фраза:
с первой по n-ую, до 100 включительно
т.е. ему этот список надо на куски по 100 штук делить.
 текст = """unit146809249
unit69241006
unit113675707
...
unit7811032
unit69230804
unit31203532
unit101320032"""
from math import ceil
РАЗМЕР_ПАКЕТА = 100
список = [i for i in текст.splitlines() if i]
for шаг in range(int(ceil(len(список)/РАЗМЕР_ПАКЕТА))):
    out = '|'.join(список[шаг*РАЗМЕР_ПАКЕТА:(шаг+1)*РАЗМЕР_ПАКЕТА])
    # здесь сделать отправку запроса
nv_fan
Striver
как я понимаю, наибольшее затруднение у вопрошающего вызывает вот эта фраза:

Спасибо. Именно то что нужно было.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB