只读取Excel文件的标题

我有大量的Excel文件,我需要从网上下载,然后只提取标题(列名),然后继续前进。 到目前为止,我只设法下载整个文件,然后将其读入Pandas DF,从中可以提取列名。

有没有更快的方式来阅读,而不是下载,或只parsing头,而不是整个Excel文件?

resp = requests.get(test_url) with open('test.xls', 'wb') as output: output.write(resp.content) headers = pd.ExcelFile("test.xls").parse(sheetname = 2) headers.columns 

如果没有一种有效的方法来“部分”下载Excel文件来获取头文件,那么是否有一种有效的方式来读取已经被下载的文件头呢?

我会说不,因为xls Excel文件是二进制文件。 所以pandasExcelFile的parsing器需要一个完整的文件。 如果你给它一个部分文件,它应该报告一个不正确的文件(有一些原因…)。

如果你真的想这样做,你将不得不彻底分析一些你想要处理的Excel文件(以二进制forms),并试图确定在第一行中find名字所需的最小尺寸。 那么你应该通过在足够低的水平上实现http协议来下载它们,以便能够closures连接,或者至less在你有足够的字节时停止读取。 最后,你只需要编写一个专门的parsing器,希望在这些文件中没有任何变化 – 因为你不再使用高级维护的工具,但只有二进制读取。

TL / DR:除非你有很强的理由这样做,否则就把它忘掉吧,因为如果可能的话,它会很难,容易出错,难以维护。