我用谷歌搜索了它,但不清楚函数parse
在这里做了什么。至少,我不太明白。如果有人能为我澄清,我将不胜感激。
Data = pd.ExcelFile(filename[0])
ncols = Data.book.sheet_by_index(0).ncols #class book google it
Data_df = Data.parse(0, converters={i : str for i in range(ncols-1)}, encoding="utf-8")
答案 0 :(得分:0)
我认为所呈现的片段前面是
import pandas as pd
ExcelFile
类描述为here, in the Pandas documentation。 ExcelFile.parse
函数是pd.read_excel
周围的薄包装器; converters
参数在最后一个链接中描述:
转换器: dict,默认
None
- 用于转换某些列中的值的函数的字典。键可以是整数或列标签,值是带有一个输入参数的函数,Excel单元格内容,并返回转换后的内容。
第2行中访问的book
对象是xlrd
包的一部分,panda
包是sheet_by_index
用于读取Excel文件的基础实现。它记录在here和ncols
方法here(虽然这些只是按照您的预期执行); Sheet
中的range(ncols-1)
字段已记录为here,它只返回工作表中的列数,忽略尾随的空列。
简而言之,{i : str for i in range(ncols-1)}
将生成除最后一列之外的所有列的索引,因此转换器字典CAMERA
具有将除最后一列之外的每个列视为简单字符串的效果,而不是尝试解析每个单元格以确定其数据类型。