【发布时间】:2018-08-28 14:37:19
【问题描述】:
我知道您可以在使用pd.read_excel(如here 概述)读取excel 时指定数据类型。你能用pd.ExcelFile做同样的事情吗?
我有以下代码:
if ".xls" in
xl = pd.ExcelFile(path + "\\" + name, )
for sheet in xl.sheet_names:
xl_parsed = xl.parse(sheet)
解析工作表时,列中的某些值以科学计数法显示。在加载之前我不知道列名,所以我需要将所有内容作为字符串导入。理想情况下,我希望能够做类似xl_parsed = xl.parse(sheet, dtype = str) 的事情。有什么建议吗?
【问题讨论】:
-
请确保您在询问之前参考了the documentation。您链接的问题中接受的答案表明
read_excel采用converters参数。pd.ExcelFile.parse也是如此。你试过了吗? -
虽然我应该更仔细地阅读您问题的结尾,因为它涉及文档未涵盖的内容。有一个关于它的问题here 已关闭但似乎没有以任何适当的方式解决。那里有一种方法可以让您适应;在 xlrd 中打开 Excel,检查标题以获取名称,并创建一个字典理解,然后作为
converters传递。有点丑。 -
@roganjosh 感谢您的输入,这就是我所做的!我会发布它作为答案
-
parse方法支持您建议的解决方案,虽然文档中没有明确提及,所以您可以使用xl_parsed = xl.parse(sheet, dtype=str)