我有一个csv DictReader对象(使用Python 3.1),但我想知道在迭代它之前阅读器中包含的行数/行数.如下......
myreader = csv.DictReader(open('myFile.csv', newline=''))
totalrows = ?
rowcount = 0
for row in myreader:
rowcount +=1
print("Row %d/%d" % (rowcount,totalrows))
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过迭代读取器来获得总数,但是我无法运行'for'循环.我可以遍历阅读器的副本,但我找不到如何复制迭代器.
我也可以用
totalrows = len(open('myFile.csv').readlines())
Run Code Online (Sandbox Code Playgroud)
但这似乎是不必要的重新打开文件.如果可能的话,我宁愿从DictReader获取计数.
任何帮助,将不胜感激.
艾伦
我的 CSV 文件大小为 70 GB。我想在惰性模式下加载 DF 并计算行数。最好的方法是什么?
据我所知,根据文档,在惰性模式下没有像 shape 这样的函数。我发现这个答案提供了一个不基于 Polars 的解决方案,但我想知道是否也可以在 Polars 中做到这一点。