for循环无法打印

时间:2019-11-19 15:28:50

标签: python json pandas for-loop

对于python来说还是很新的...尝试从API中提取数据,并将列表中每个字符串的输出打印到json。问题是,循环可以很好地运行列表中的每个字符串,但只显示列表中的最后一个字符串(零售)。

代码如下:

today = (datetime.date.today() + datetime.timedelta(days=1)).isoformat() + "T05:00:00"
start = (datetime.date.today() - datetime.timedelta(days=7)).isoformat() + "T05:00:00"
myList = ['Financials', 'Industry', 'Health Wellbeing', 'Manufacturing', 'Retail']


for list in myList:
    filtered = queries.get_mentions(name = list,
                                startDate = start,
                                endDate = today,
                                )
df = pd.DataFrame(filtered, columns=['account', 'addedtime',    'author',   'id',   'impact',   'snippet'])
Export_tojson = df.to_json(orient='records')

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这里的问题是您在每次迭代时都覆盖filtered的值,而没有在数据帧中设置它的值。

一种克服此问题的方法,就像评论中提到的@chepner一样,是将filtered更改为list类型

for list in myList:
    filtered = []

    filtered.append(queries.get_mentions(name = list,
                                startDate = start,
                                endDate = today,
                                ))

希望这会有所帮助:)如果您需要进一步的澄清或帮助,请随时与我聊天!