python - 如何跳过循环中的项目

标签 python loops pandas append

我正在尝试创建一个包含 5 个不同来源的所有报纸文章的列表。它们以 JSON 格式存储。所有文章都存储在不同的文件中,其中包含报纸和年份(时间垃圾邮件 2005-2015)。问题是其中一份报纸仅适用于 2014-15 年,因此当我将所有内容循环在一起时会出现错误。这是我的尝试:

import json
import nltk
import re
import pandas

appended_data = []

for i in range(2005,2016):
    df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
    df1 = pandas.DataFrame([json.loads(l) for l in open('Scot_%d.json' % i)])
    df2 = pandas.DataFrame([json.loads(l) for l in open('APJ_%d.json' % i)])
    df3 = pandas.DataFrame([json.loads(l) for l in open('TH500_%d.json' % i)])
    df4 = pandas.DataFrame([json.loads(l) for l in open('DRSM_%d.json' % i)])
    appended_data.append(df0)
    appended_data.append(df1)
    appended_data.append(df2)
    appended_data.append(df3)
    appended_data.append(df4)


appended_data = pandas.concat(appended_data)

doc_set = appended_data.body

我的问题是;这段代码是否达到了我的目标? (创建一个列表,其中包含一段时间内每份报纸的所有文章的body);并且,我怎样才能以跳过 2005-2013 年第一份报纸 (SDM) 的方式对其进行编程

最佳答案

对于跳过部分,您可以:

for i in range(2005,2016):
    if i > 2013:
        df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
        appended_data.append(df0)
    df1 = pandas.DataFrame([json.loads(l) for l in open('Scot_%d.json' % i)])

要了解代码是否按预期执行,我们需要示例数据。

关于python - 如何跳过循环中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37439787/

相关文章:

sql - 如何进行多关键词搜索?

python - 如何根据一组行在 Pandas DataFrame 中创建一个新列

python - 如何按 4 个时间段和键对数据帧进行分组

python pandas日期时间转换为日期

python - 为什么我们使用 numpy.argmax() 从 numpy 预测数组中返回索引?

c - 我如何摆脱最后一个逗号?

python - Pandas.Dataframe.duplicate() 包括缺失的行作为重复项

python - 对组内的数据进行排序 - Pandas Dataframe

python - 在python中以特定格式获取日期

c - Lua脚本: embed C code to run automatically at the start of a while loop