Python, все значения были разбиты на части при попытке объединить списки в списке - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть списки идентификаторов в этом списке:

[[1347,1805371369,1805371401,1805371409,1805371424,1805371434,1805371462], [1805371691,1805371699,1805371712,1805371715,1801805371742,1917952665] ']

Я пытаюсь объединить их в список, который будет выглядеть следующим образом:

[1347,1805371369,1805371401,1805371409,1805371424,1805371434, 1805371462,1805371691,1805371699,1805371712,1805371715,1805371725,1805371742,1917952665 ']

но мой результат стал примерно таким, и я не уверен почему:

['1','3','4','7',',','1','8','0','5','3','7','1','3','6','9'.......']']

Я попробовал методы itertools, flat и using for loop, но все они дали мне то же самое, поэтому я думаю, что что-то не так с самим списком, но я не совсем уверен, что.Пожалуйста, помогите

import itertools    
r=[[1347,1805371369,1805371401,1805371409,1805371424,1805371434,1805371462],[1805371691,1805371699,1805371712,1805371715,1805371725,1805371742,1917952665]]
merged = list(itertools.chain(*r))
print(merged)

фактический код:

import requests
import json
from datetime import datetime
from datetime import timedelta
import itertools

url='https://www.example.com/api/rest/1.1/etl/surveyresponses/ids/'
headers = {'Content-Type': "application/x-www-form- 
urlencoded",'Authorization': "Bearer ******-****-****-****-*********"}
start_date = "2016-01-01"
stop_date = "2016-01-08"
endDate = "2016-02-014"
orgid='****'
r=[]
#Can only call 7 days at once, need to call the API multiple time and combine the result together for another API call 
while stop_date < endDate:
    start = datetime.strptime(start_date, "%Y-%m-%d") + timedelta(days=7) 
    stop = datetime.strptime(stop_date, "%Y-%m-%d") + timedelta(days=7) 
    start_date=start.strftime('%Y-%m-%d')
    stop_date=stop.strftime('%Y-%m-%d')
    if stop_date>datetime.today().strftime('%Y-%m-%d'):
            stop_date = datetime.today().strftime('%Y-%m-%d')
    req_url=url+start_date+'/'+stop_date+'/'+orgid

    result =requests.get(req_url, headers=headers)
    r.append(result.text)



merged = list(itertools.chain(*r))

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

, поэтому я понял, что мне просто нужно изменить

r.append (result.text)

на

r.append (result.json ())

тогда все работает LOL

0 голосов
/ 09 декабря 2018

У вас есть блуждающая кавычка в конце определения списка.После того, как вы взяли его и запустили ваш код, он работал нормально для меня.Это между двумя закрывающими скобками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...