强制 pandas.to_excel 将数据写入 'Text' 而不是 'General' 格式
Force pandas.to_excel to write data as 'Text' instead 'General' format
我已经在目标 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()
您可以使用 遍历单元格。
要将单元格设置为 TEXT
只需使用:
cell.number_format = '@'
这会将单元格格式设置为 Excel 中的 TEXT
。
可能有一种方法可以直接从 Pandas 中的 ExcelWriter
进行操作,但我对此并不熟悉,也许更了解的人也会编辑该选项的答案。
您需要做的就是将 pandas 中的数据保存为 'object'
(即文本),例如:
df = pd.DataFrame(data=d, dtype=object)
之后,如果您使用 pandas to_excel
方法导出到 Excel,它将作为文本存储在 Excel 中。
我已经在目标 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()
您可以使用
要将单元格设置为 TEXT
只需使用:
cell.number_format = '@'
这会将单元格格式设置为 Excel 中的 TEXT
。
可能有一种方法可以直接从 Pandas 中的 ExcelWriter
进行操作,但我对此并不熟悉,也许更了解的人也会编辑该选项的答案。
您需要做的就是将 pandas 中的数据保存为 'object'
(即文本),例如:
df = pd.DataFrame(data=d, dtype=object)
之后,如果您使用 pandas to_excel
方法导出到 Excel,它将作为文本存储在 Excel 中。