当我将excel文件传递给python代码时,实际上正在计算的内容,该代码计数文件中的行



我使用以下问题作为来源,以及我询问的代码列出的:


  1. 如何在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时。


  1. 如何在多个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字符等效,但这与电子表格中的行无关。

最新更新