Number of lines in csv.DictReader(csv.DictReader 中的行数)
问题描述
我有一个 csv DictReader 对象(使用 Python 3.1),但我想知道阅读器在迭代之前包含的行数/行数.如下所示...
I have a csv DictReader object (using Python 3.1), but I would like to know the number of lines/rows contained in the reader before I iterate through it. Something like as follows...
myreader = csv.DictReader(open('myFile.csv', newline=''))
totalrows = ?
rowcount = 0
for row in myreader:
rowcount +=1
print("Row %d/%d" % (rowcount,totalrows))
我知道我可以通过遍历阅读器来获得总数,但是我无法运行for"循环.我可以遍历阅读器的副本,但我找不到如何复制迭代器.
I know I could get the total by iterating through the reader, but then I couldn't run the 'for' loop. I could iterate through a copy of the reader, but I cannot find how to copy an iterator.
我也可以用
totalrows = len(open('myFile.csv').readlines())
但这似乎是不必要的重新打开文件.如果可能,我宁愿从 DictReader 获取计数.
but that seems an unnecessary re-opening of the file. I would rather get the count from the DictReader if possible.
任何帮助将不胜感激.
艾伦
推荐答案
rows = list(myreader)
totalrows = len(rows)
for i, row in enumerate(rows):
print("Row %d/%d" % (i+1, totalrows))
这篇关于csv.DictReader 中的行数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:csv.DictReader 中的行数
基础教程推荐
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
