我已经在目标Excel列中将单元格格式设置为“Text”。但是,当向该列写入字符串时,pandas.to_excel将格式更改为“General”,最终该列的空白单元格将被格式化为“Text”,非空白单元格将被格式化为“General”。是否有办法将数据写入“Text”而不是“General”?
def exportData(df, dstfile, sheet):
book = load_workbook(dstfile)
writer = pd.ExcelWriter(dstfile, engine='openpyxl', date_format='dd/mm/yyyy', datetime_format='mm/dd/yyyy hh:mm')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, header=False, startrow=2, index=False, sheet_name=sheet)
writer.save()
字符串
3条答案
按热度按时间fnatzsnv1#
你需要做的就是将pandas中的数据保存为
'object'
(这是文本),如下所示:字符串
之后,如果您使用pandas
to_excel
方法导出到Excel,它将以文本形式存储在Excel中。dluptydi2#
可以使用以下方法覆盖单元格。
要格式化为
TEXT
的单元格只需用途:字符串
这将在Excel中将单元格格式设置为
TEXT
。可能有一种方法可以直接从Pandas中的
ExcelWriter
中完成它,但我对此并不熟悉,也许更了解的人也会编辑该选项的答案。ncgqoxb03#
可以使用以下代码应用数字格式(Excel术语)导入到导出的pandas对象。而不是Excel中默认用于导出pandas对象的 “General” 数字格式,可以指定 “文本” 数字格式。使用 “文本” 数字格式还可以防止在进入“编辑”模式时numbers change to dates(Excel中的快捷方式
F2
),然后按Enter
。截至本答案发布之日,以下代码似乎是最短的方法:字符串
最后一行代码的功劳应该归于pandas documentation。