Pandas ExcelFile 将列读取为字符串

mic*_*111 5 python dataframe pandas

我知道您可以在读取 Excel 时指定数据类型pd.read_excel(如此处所述)。你能用 做同样的事情pd.ExcelFile吗?

我有以下代码:

 if ".xls" in 
     xl = pd.ExcelFile(path + "\\" + name, )
     for sheet in xl.sheet_names:
         xl_parsed = xl.parse(sheet)
Run Code Online (Sandbox Code Playgroud)

解析工作表时,列中的某些值以科学计数法显示。我在加载之前不知道列名称,因此我需要将所有内容导入为字符串。理想情况下,我希望能够做类似的事情xl_parsed = xl.parse(sheet, dtype = str)。有什么建议么?

mic*_*111 1

我采纳了 roganjosh 的建议 - 首先打开 Excel,获取列名称,然后作为转换器传递。

if ".xls" in name:
    xl = pd.ExcelFile(path)
    sheetCounter = 1
        for sheet in xl.sheet_names:
        ### Force to read as string ###
        column_list = []
        df_column = pd.read_excel(path, sheetCounter - 1).columns
        for i in df_column:
            column_list.append(i)
        converter = {col: str for col in column_list}
        ##################
        xl_parsed = xl.parse(sheet, converters=converter)
        sheetCounter = sheetCounter + 1
Run Code Online (Sandbox Code Playgroud)