Python函数仅运行一次

马克·卡利托三世

我正在预处理一个csv文件,并希望输出3个由字段过滤的csv文件数据组成的字典。

设置为:

import csv
from m_functions import region_goals    

csvFile = # a file path

mnDict = dict()
nlDict = dict()
neDict = dict()

# READ CSV
weekList = csv.reader(open(csvFile))

# CREATE DICTIONARY FOR THIS WEEK AND REGION
region_goals(weekList, "STR1", neDict)
region_goals(weekList, "STR2", mnDict)
region_goals(weekList, "STR3", nlDict)

region_goals函数为:

def region_goals(csv, region, region_dictionary):
    firstline = True
    for row in csv:
        if firstline:
            firstline = False
            continue
        if row[14] == region:
            if row[16] not in region_dictionary:
                region_dictionary[row[16]] = float(row[6])
            else:
                region_dictionary[row[16]] += float(row[6])
        else:
            continue
    return region_dictionary

该输出始终与首次使用该功能时期望的一样。在我使用该函数的第二次2次中,返回了空字典。

我确定这是我遗漏的一些小东西,但是我是python的新手,并且一直在努力修复这一问题。预先感谢您的回复。

保罗·H

第一次通过后,您就在CSV文件的末尾,没有任何可读取的内容,因此您需要重新打开它。

同样,用功能就地修改对象也不是最好的主意。每次都最好返回一个新对象。

import csv
from m_functions import region_goals    

csvFile = # a file path

regions = ['STR1', 'STR2', 'STR3']
for region in regions:
    with csv.reader(open(csvFile)) as weekList:
        region_dict = dict()
        output = region_goals(weekList, region, region_dict )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery函数仅运行一次

来自分类Dev

仅运行一次javascript函数

来自分类Dev

jQuery函数仅运行一次

来自分类Dev

Ajax函数仅运行一次

来自分类Dev

for循环仅运行一次(python)

来自分类Dev

仅js-仅运行一次函数

来自分类Dev

标准库函数,仅运行一次函数

来自分类Dev

Spring Batch如何仅运行一次read()函数

来自分类Dev

使trigger()仅运行一次函数

来自分类Dev

在Javascript中仅运行一次函数

来自分类Dev

document.createElement()函数仅运行一次

来自分类Dev

每个域仅运行一次JS SetTimeout函数

来自分类Dev

在特定时间仅运行一次天蓝色函数一次?

来自分类Dev

Python / Kivy App仅运行一次

来自分类Dev

如何在Python中仅运行一次算法

来自分类Dev

Python:嵌套的iteritems循环仅运行一次

来自分类Dev

Python / Kivy App仅运行一次

来自分类Dev

一次在函数中的python运行代码

来自分类Dev

点击事件仅运行一次

来自分类Dev

Foreach循环仅运行一次

来自分类Dev

在FOR循环中仅运行一次IF

来自分类Dev

Keydown仅运行一次代码

来自分类Dev

ScheduledThreadPoolExecutor仅运行一次Swingworker

来自分类Dev

setInverval仅运行一次

来自分类Dev

仅运行一次keyDown功能

来自分类Dev

EditText验证仅运行一次

来自分类Dev

SwiftUI .onAppear,仅运行一次

来自分类Dev

jQuery脚本仅运行一次

来自分类Dev

while循环仅运行一次?