以日期格式将数据输出到excel时出现问题

2024-10-02 02:39:55 发布

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

需要有关如何在Pandas中将值打印到Excel sheet之前在Pandas中格式化值的指导

我是Pandas新手,当值输出到Excel sheet时,我必须编辑现有代码。 完成一些条件/函数计算后,该值将输出到Excel。 我的当前值似乎是string format,这不是一种Excel友好的日期格式

值的输出如下所示:

Output of the value looks like this

需要将输出格式化为日期格式

Needed to format the output to the date format

我确实尝试了strptime的选项,但根据我的理解,这些值也将以字符串格式给出输出。奇怪的是,我也无法使用Excel格式化选项将列格式化为Excel最新格式

谢谢你的时间和帮助

我的代码是这样的:


def calculate(snumber,owner,reason):
    #some if conditions and then
    date11 = Date + relativedelta(months = 1)
    return date11.strftime('%d %b %Y')


df['date1'] = df.apply(lambda x: calculate(x['snumber'], x['owner'], x['reason']), axis=1)


Tags: 代码pandasdf格式选项excel中将sheet
2条回答

为确保列的格式为dateformat,请使用以下命令

df['date1'] = df['date1'].dt.strftime('%Y/%m/%d')

完成后,您可以使用ExcelWriter的xlsxwriter引擎

请在本文中查看有关这方面的更多详细信息:https://xlsxwriter.readthedocs.io/example_pandas_column_formats.html

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter("pandas_column_formats.xlsx", engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')

# Get the xlsxwriter workbook and worksheet objects.
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

format = workbook.add_format({'num_format': 'dd/mm/yy'})

# Set the column width and format. 
# Provide proper column where you have date info.
worksheet.set_column('A:A', 18, format)

# Close the Pandas Excel writer and output the Excel file.
writer.save()

使用以下命令转换pandas数据框本身中的日期格式:

date['date1'] = pd.to_datetime(df['date1'])

例如:

我有一个数据帧

PRODUCT     PRICE   PURCHSE     date
0   ABC     5000    True    2020/06/01
1   ABB     2500    False   2020/06/01

在数据框中的日期应用上述给定公式

df['date'] = pd.to_datetime(df['date'])

输出将如下所示:

    PRODUCT     PRICE   PURCHSE     date
0   ABC     5000    True    2020-06-01
1   ABB     2500    False   2020-06-01

相关问题 更多 >

    热门问题