我的视图返回文本字段输出,因为我用'%'符号连接字段。当我使用to_excel将此数据推入excel时,它作为文本而不是数字插入。有没有办法解决此问题,使我的excel工作表具有数字而不是文本?
红移码:
select concat(((("replace"((myfield)::text, '%'::text, ''::text))::numeric(10,2))::character varying)::text, '%'::text) AS myfield_formatted
from myview
将数据推送到Excel中的Python代码:
df3 = df3.apply(pd.to_numeric, errors='ignore')
df3.to_excel(writer, sheet_name=comp,startrow=0, startcol= 0, index=False, float_format='%.2f')
我应该解决这个问题在红移水平或Pandas Dataframe 水平?
2条答案
按热度按时间flvlnr441#
有没有办法解决这个问题,使我的excel工作表有数字,而不是文本?
要做到这一点的方法是在将 Dataframe 导出到Excel之前将文本转换为Pandas数字。看起来你正在尝试这样做,但我认为添加到字符串中的%阻止了数字转换。
以下是使用以下步骤将某些字符串数据转换为百分比的示例:
1.将字符串转换为数字
1.除以100得到百分比
1.使用Excel百分比格式设置数字的格式
输出:
dgiusagp2#
您可以尝试在XlsxWriter级别设置列格式吗?