Python遍历lis中的一组项

2024-09-30 02:29:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的查询,从JIRA中提取一些数据并保存到csv中。然而,我正试图通过一系列的项目循环。我看到最新的项目被保存,而不是所有的项目都在循环中传递。你知道吗

下面是我要做的:

projects = ['project_a','project_b']

for project in projects:
    issues = jira.search_issues('project= ' + project)

    result = []
    for value in issues:
        value = value
        timeSpentSeconds = i.timeSpentSeconds
        timeSpent = i.timeSpent
        updated = i.updated
        started = i.started
        author = i.author
        dict_ = {'value': value,
                     'timeSpent': timeSpent,
                     'updated': updated,
                     'started': started,
                     'author': author}

        result.append(dict_)

        df = pd.DataFrame(result)


        df.to_csv('/Desktop/file.csv')

Tags: csv项目inprojectforvalueresultdict
2条回答

在每个循环df.to_csv('/Desktop/file.csv')上覆盖数据帧。每次,你在文件中写下新的项目,然后删除旧的项目。你知道吗

您应该在开始迭代项目之前定义结果。否则,您可以为每个项目创建一个csv文件。你知道吗

另外,在顶层循环的末尾创建和保存数据帧也会更有效。你知道吗

df.to_csv('/Desktop/file.csv', mode='a')

.to\u csv的默认模式为写入。你必须把它改成附加。如果你想那样做的话。你知道吗

更好的解决方案是生成整个数据帧,然后将其保存到所需的文件中

projects = ['project_a','project_b']

result = []

for project in projects:
    issues = jira.search_issues('project= ' + project, maxResults=False, fields="worklog")   
    for value in issues:
        for i in value.fields.worklog.worklogs:
            value = value
            timeSpentSeconds = i.timeSpentSeconds
            timeSpent = i.timeSpent
            updated = i.updated
            started = i.started
            author = i.author
            dict_ = {'value': value,
                     'timeSpent': timeSpent,
                     'updated': updated,
                     'started': started,
                     'author': author}

            result.append(dict_)

df = pd.DataFrame(result)
df.to_csv('/Desktop/file.csv')

相关问题 更多 >

    热门问题