📜  使用Python转换电子表格中的任何日期

📅  最后修改于: 2022-05-13 01:55:49.300000             🧑  作者: Mango

使用Python转换电子表格中的任何日期

在本文中,我们将了解如何使用Python转换电子表格中的任何日期。

使用的文件:

该文件包含一个名为“日期”的列,并以一些不同的格式存储 2021 年的随机日期。

方法:

  • 我们将从导入 pandas 库开始。
  • 让我们看一下转换日期的代码。
  • 要执行涉及日期和时间的任务,我们必须首先将列转换为日期时间数据类型,这部分代码将执行此操作:
  • 然后我们使用值为“%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 日”
DirectiveMeaningExample
%aWeekday as locale’s abbreviated name

Sun, Mon,…..,Sat(en_US);

So, Mo,…..,Sa(de_DE)

%AWeekday as locale full nameSunday, Monday, ….., Saturday
%wWeekday 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 number01,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")

输出: