应用映射内存

2024-10-04 09:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将datetime的所有实例更改为一个字符串,并将我的数据框导出到excel。数据帧可能有20000到50000个条目。这是我当前的代码:

wb = xw.Book('filelname.xlsx')
sht = wb.sheets['FNC']
data = wb.sheets['Data']
smdata = wb.sheets['Social']

df_sm_temp = sm_all

df_sm_temp['Date'] = df_sm_temp['Date'].apply(lambda x: str(x) if isinstance(x, datetime.time) else x)
df_sm_temp['Added'] = df_sm_temp['Added'].apply(lambda x: str(x) if isinstance(x, datetime.time) else x)
df_sm_temp['Updated'] = df_sm_temp['Updated'].apply(lambda x: str(x) if isinstance(x, datetime.time) else x)

 smdata.range('SM_ALL').value = df_sm_temp

当我试着运行这个时,我得到了一个内存错误。任何帮助都将不胜感激!你知道吗

下面是数据集的一个小示例:https://www.sendspace.com/file/jxhmx2

谢谢


Tags: 数据lambdadfdatetimeiftimetempelse
1条回答
网友
1楼 · 发布于 2024-10-04 09:24:14

实际上,您不需要转换数据本身,只要将datetime_formatxlsxwriter引擎结合使用即可:

演示:

writer = pd.ExcelWriter('/path/to/result.xlsx', engine='xlsxwriter', 
                        date_format='mm/dd/yyyy', datetime_format='mm/dd/yyyy')

df.to_excel(writer)

相关问题 更多 >