【问题标题】:Finding the number of values greater than a particular value (using a csv file)查找大于特定值的值的数量(使用 csv 文件)
【发布时间】:2019-12-18 02:30:23
【问题描述】:

我有一个名为“datavalues.csv”的 csv 文件。它有大约 20,000 个值,我很好奇其中有多少值超过 10,000。

我有以下代码,但我不断收到以下错误ValueError: I/O operation on closed file

#!/usr/bin/python

import csv

with open('datavalues.csv', 'rb') as datavalues:
  datavaluesreader = csv.reader(datavalues, delimiter=',')

print(sum(x >= 10000 for x in datavaluesreader))

【问题讨论】:

  • 尝试将print 移动到with 中。不过,数据可能是字符串,因此您必须将它们转换为整数。
  • x 是行。您必须选择一个单元格并转换为整数。例如sum(int(x[0]) >= 10000 for x in datavaluesreader)

标签: python csv for-loop if-statement


【解决方案1】:

看看这个ValueError : I/O operation on closed file。我认为这是你的问题。 datavaluesreader 的使用不在with 语句的范围内,所以在它执行时,底层文件已经关闭。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-19
    • 2016-11-30
    • 2022-11-22
    • 2015-05-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多