将excel电子表格读入pandas DataFrame时,将数字转换为字符串

时间:2014-01-07 11:29:51

标签: python excel pandas

我正在使用read_excel将一些excel电子表格(xlsx格式)读入pandas,这通常效果很好。我遇到的问题是当一个列包含数字时,pandas将这些转换为float64类型,我希望它们被视为字符串。读完之后,我可以将列转换为str:

my_frame.my_col = my_frame.my_col.astype('str') 

这可以为列分配正确的类型,但是当我查看此列中的值时,字符串的格式为科学格式,例如8.027770e + 14,这不是我想要的。我想弄清楚如何告诉pandas将列读取为字符串,或者稍后进行转换以便我以原始(非科学)格式获取值。

2 个答案:

答案 0 :(得分:0)

pandas.read_csv()有一个dtype参数:

  

dtype:列名称或列表 - >型

Data type for data or columns. E.g. {‘a’: np.float64, ‘b’: np.int32}

答案 1 :(得分:0)

我用回合解决,如果在大多数情况下进行round(number,5)不会丢失数据,而在8.027770e + 14的情况下会得到零