我使用以下问题作为来源,以及我询问的代码列出的:
-
如何在Python中廉价获得线路数?
def file_len(fname): with open(fname) as f: for i, l in enumerate(f): pass return i + 1 fname = '/path/file.xls' file_len(fname)
这返回40,当实际行数为56时。
-
如何在多个CSV文件中计数行
import glob import pandas as pd files = glob.glob('files/*.xls') d = {f: sum(1 for line in open(f)) for f in files}
这也返回了40个同一文件,也没有返回该路径中其他文件的正确计数。
它没有返回错误,并且在跨方法始终返回相同的计数,但是这不是行的正确数量。
我的问题是:.xls文件中实际上是什么,因为它不是行的数量?
xls不是文本格式,而是二进制格式。文件中显然有许多字节与ASCII Newline字符等效,但这与电子表格中的行无关。