【发布时间】:2013-10-02 00:06:35
【问题描述】:
是否存在一种无需将整个文件实际加载到内存中(在 Python 中)即可查找 csv 文件中行数的方法?
我希望它可以有一些特殊的优化功能。我现在所能想象的就是逐行阅读并计算行数,但这有点扼杀了其中所有可能的意义,因为我只需要行数,而不是实际内容。
【问题讨论】:
-
我认为不会。 CSV 不会在文件的页眉或页脚中存储任何元信息。因此获取行数需要读取整个文件。由于这通常是通过读取最多 \r\n 或 \n 的行来实现的(取决于编码),这意味着没有更快的方法可以做到这一点。但是,按字符(而不是按行)读取文件并只计算换行符可能会更快。
-
不看就确定牛的颜色
-
副本有一些非常好的答案。我投票决定关闭它……还是我应该删除这个问题?
-
@Hyperboreus 我可以通过查看农场的奶牛数据库来确定奶牛的颜色,而无需去农场和使用光谱仪。
-
@mouviciel - 或者分隔符的数量。或者,如果行数不需要精确:通过文件大小和平均线宽来猜测文件中的(均匀分布?)n 样本集。