簡體   English   中英

Python - 循環遍歷列表中的一組項目

[英]Python - Looping through a set of items in a list

我有以下查詢從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')

你在每個循環df.to_csv('/Desktop/file.csv')覆蓋數據幀。 每次,您在文件中編寫新項目並刪除舊項目。

您應該在開始迭代項目之前定義結果。 否則,您可以為每個項目創建一個csv文件。

此外,在頂級循環結束時創建和保存數據幀會更有效。

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

寫入.to_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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM