在Python里 请问怎么将数字日期转换成英文月份加数字日期? 并且替换分隔符?例子如下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python里 请问怎么将数字日期转换成英文月份加数字日期? 并且替换分隔符?例子如下相关的知识,希望对你有一定的参考价值。
1. Write a program that reads a string from the keyboard containing a date in the form mm/dd/yyyy and prints out the date in the form Month, Date, Year (See samples below). Your main function should handle all input from the user and printing. You should have another function, convertDate that takes the user input as an argument and returns the converted date string when called. Sample output below:
python question1.py
Please enter a date (format:mm/dd/yyyy):02/11/1995
Converted: February, 11, 1995.
python question1.py
Please enter a date (format:mm/dd/yyyy):01/01/2010
Converted: January, 01, 2010.
python question1.py
Please enter a date (format:mm/dd/yyyy):12/31/1955
Converted: December,
time=time.local()
print time
你也可以dir(time)看看用法本回答被提问者采纳
将 Pandas 系列日期时间“月份”数字转换为月份文本 [重复]
【中文标题】将 Pandas 系列日期时间“月份”数字转换为月份文本 [重复]【英文标题】:converting Pandas series datetime "month" number to the month text [duplicate] 【发布时间】:2020-08-18 23:27:01 【问题描述】:我无法将 pandas 中的月份数字转换为整数或数字。
我给。为了便于查看,我已经尝试了所有我能想到的将熊猫月份编号转换为月份名称的方法。我得到错误。我曾尝试将 month_name 用于 pandas 系列,创建月份数字和月份名称的字典(给出错误),我可以将系列转换为字符串但不是 int,我创建了一个单独的元组,似乎没有任何效果。
我意识到我需要将系列(我可以用来做数学运算)转换为数字。
使用熊猫系列月份名称给了我这个:
<bound method Pandas Delegate._add_ delegate accessors.<locals>._create_delegator_method.<locals>.f of <pandas.core.indexes.accessors.DatetimeProperties object at 0x000001F8A776D0F0>>
虽然不是错误,但也没有用。
使用我的元组我得到以下错误:元组索引必须是整数或切片,而不是系列。我得到了这个,因为如果不是尝试某种方式将系列转换为整数,它会很好地工作,这会给出“无法将系列转换为
'''
creating a tuple of month numbers
'''
num_to_month = ('tuple of months in order','January', 'February', 'March', 'Apil', 'May',
'June', 'July', 'August', 'September', 'October', 'November', 'December')
'''
create list of new forecasts
'''
files_to_process = sorted(glob('*CAH_KEY_STRATEGY_DOC*.xlsx'))
print(files_to_process)
'''
update the files to process to add the fiscal quarter info and save back to same name
'''
for file in files_to_process:
df = pd.read_excel(file)
df.fillna(0, inplace=True)
df['fiscal_yr_qtr'] = pd.PeriodIndex([date - pd.tseries.offsets.DateOffset(days=1) + pd.tseries.offsets.FY5253Quarter(normalize=True, weekday=4,startingMonth=4, qtr_with_extra_week=1, variation='last') for date in df.task_date], freq='Q-APR')
df['month'] = df.task_date.dt.month
# y = df['month'].to_int
# print(y)
# z= int(y)
# print(y)
df['year'] = df.task_date.dt.year
df['day'] = df.task_date.dt.day
df['fiscal_qtr'] = pd.PeriodIndex([date - pd.tseries.offsets.DateOffset(days=1) + pd.tseries.offsets.FY5253Quarter(normalize=True, weekday=4,startingMonth=4, qtr_with_extra_week=1, variation='last') for date in df.task_date], freq='Q-APR').quarter
df.loc[((df.task_date.dt.month >= 5) | ((df.task_date.dt.month == 4) & (df['fiscal_qtr'] == 1))), 'fiscal_yr'] = df.task_date.dt.year + 1
df.loc[((df.task_date.dt.month <= 4) & (df['fiscal_qtr'] != 1)), 'fiscal_yr'] = df.task_date.dt.year
df['total_expenses'] = df['costs'] + df['3rd_prty']
df['total_spend'] = df['fees'] + df['costs'] + df['3rd_prty']
# df['month_name'] = df.task_date.dt.month_name #added 8/18/2020
# df['month_name'] = num_to_month[y] # this gives september
df.to_excel(file, index=False)
with pd.ExcelWriter('output.xlsx', datetime_format='YYYY-MM-DD HH:MM:SS') as writer:
df.to_excel(writer, sheet_name='Sheet_name_1')
【问题讨论】:
df.task_date.dt.month_name()
【参考方案1】:
如果您的日期是日期时间格式: df["Date"] = pd.to_datetime(df["Date"],format="%y-%m-%d %H:%M:%S") 您可以根据需要直接更改格式。月份名称格式为 %B 检查文档: https://stackabuse.com/how-to-format-dates-in-python/ 如果您想要其他包含此信息的列,只需使用 df["Date_2"] = df["Date"].dt.strftime('%d-%b-%Y')
【讨论】:
以上是关于在Python里 请问怎么将数字日期转换成英文月份加数字日期? 并且替换分隔符?例子如下的主要内容,如果未能解决你的问题,请参考以下文章
请问在Excel里怎么用VBA把中文大写的数字转换成阿拉伯数字?