使用Python转换电子表格中的任何日期
在本文中,我们将了解如何使用Python转换电子表格中的任何日期。
使用的文件:
该文件包含一个名为“日期”的列,并以一些不同的格式存储 2021 年的随机日期。
方法:
- 我们将从导入 pandas 库开始。
- 让我们看一下转换日期的代码。
sample_dates[“Date”] = pd.to_datetime(sample_dates[“Date”]).dt.strftime(“%Y-%m-%d”)
- 要执行涉及日期和时间的任务,我们必须首先将列转换为日期时间数据类型,这部分代码将执行此操作:
sample_dates[“Date”] = pd.to_datetime(sample_dates[“Date”])
- 然后我们使用值为“%Y-%m-%d”的 dt 和 strftime 方法来通知Python如何格式化日期。我们在这里使用的示例是“%Y-%m-%”,其中 %Y 是全年,%m 是 2 位数字的月份,%d 是 2 位数字的日期。
示例 1:转换电子表格中的任何日期
Python3
# This code converts any dates in spreadsheet
import pandas as pd
# Read the file and specify which column is the date
sample_dates = pd.read_excel("sample_dates.xlsx")
# Export output with dates converted to YYYY-MM-DD
sample_dates["Date"] = pd.to_datetime(
sample_dates["Date"]).dt.strftime("%Y-%m-%d")
sample_dates.to_excel("sample_dates_formated.xlsx")
Python3
# This code converts any dates in spreadsheet
import pandas as pd
# Read the file and specify which column is
# the date
sample_dates = pd.read_excel("sample_dates.xlsx")
# Export output with dates converted to
# "D MMMM, YYYY"
sample_dates["Date"] = pd.to_datetime(
sample_dates["Date"]).dt.strftime("%#d %B, %Y")
sample_dates.to_excel("sample_dates_formated.xlsx")
Python3
# This code converts any dates in spreadsheet
import pandas as pd
# Read the file and specify which column is
# the date
sample_dates = pd.read_excel("sample_dates.xlsx")
# Export output with dates converted to "MMMM D,
# YYYY"
sample_dates["Date"] = pd.to_datetime(
sample_dates["Date"]).dt.strftime("%B %d, %Y")
sample_dates.to_excel("sample_dates_formated.xlsx")
输出:
其他知名格式:
示例日期 – 2021 年 12 月 18 日星期六晚上 7:00
- “%A, %B %d” -> “12 月 18 日,星期六”
- “%d-%b-%y”->“21 年 12 月 18 日”
- “%d/%m/%Y”->“18/12/2021”
- “%b %d, %Y” -> “2021 年 12 月 18 日”
Directive | Meaning | Example |
---|---|---|
%a | Weekday as locale’s abbreviated name | Sun, Mon,…..,Sat(en_US); So, Mo,…..,Sa(de_DE) |
%A | Weekday as locale full name | Sunday, Monday, ….., Saturday |
%w | Weekday as a decimal number, where 0 is Sunday and 6 is Saturday | 0, 1, 2, 3……,6 |
%d | Day of the month as a zero-padded decimal number | 01,02,….31 |
示例 2:
我们将使用上一个示例中使用的相同数据集。
Format - "%d %b, %Y" -> "18 December, 2021"
在这里,我们将使用'%#d' 来删除当天的零填充,即08 到8。如果日期是个位数,这将不会填充零。我们可以在 Linux 上使用 '%-d'。
Python3
# This code converts any dates in spreadsheet
import pandas as pd
# Read the file and specify which column is
# the date
sample_dates = pd.read_excel("sample_dates.xlsx")
# Export output with dates converted to
# "D MMMM, YYYY"
sample_dates["Date"] = pd.to_datetime(
sample_dates["Date"]).dt.strftime("%#d %B, %Y")
sample_dates.to_excel("sample_dates_formated.xlsx")
输出:
示例 3:
这里我们将使用不同的格式
Format - "%B %d, %Y" -> "December 18, 2021"
Python3
# This code converts any dates in spreadsheet
import pandas as pd
# Read the file and specify which column is
# the date
sample_dates = pd.read_excel("sample_dates.xlsx")
# Export output with dates converted to "MMMM D,
# YYYY"
sample_dates["Date"] = pd.to_datetime(
sample_dates["Date"]).dt.strftime("%B %d, %Y")
sample_dates.to_excel("sample_dates_formated.xlsx")
输出: