簡體   English   中英

Python openpyxl 獲取日期輸出格式

[英]Python openpyxl get date output format

我有一個無法更改的 excel 文件,我在其中使用 openpyxl 獲取了一些信息,在這種情況下,我有一個具有此日期格式 MM/DD/YYYY 的單元格,我需要在 python 上的輸出為:%d/%m/%是

我試過這個:

ETD3 = sheet['F28'].value
ETD2 = str(ETD3)
ETD = datetime.strptime(ETD2,'%d/%m/%Y')

我收到此錯誤:

  Traceback (most recent call last):
  File "C:\Users\xxxx\eclipse-workspace\TEst\RunFaster.py", line 102, in <module>
    ETD = datetime.strptime(ETD2,'%d/%m/%Y')
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 349, in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data '2021-10-15 00:00:00' does not match format '%d/%m/%Y'

我怎樣才能使這個工作正常? (我是 Python 新手,也是編程新手)

datetime.strptime一個字符串並將其轉換為日期時間對象。 你給它的格式告訴它如何解釋它正在抓取的字符串。 在這種情況下,你告訴它你給它一個格式為'%d/%m/%Y'的字符串,而實際上它看起來你給它一個格式為'%Y-%m-%d %H:%M:%S'的字符串'%Y-%m-%d %H:%M:%S' 這是您應該提供的格式字符串。 然后,您將擁有一個表示該日期/時間的 datetime 對象。 如果你想要一個你指定格式的新字符串,獲取那個 datetime 對象並使用.strftime方法,將你的格式字符串傳遞給它,它會輸出你想要的字符串:

ETD3 = sheet['F28'].value
ETD2 = str(ETD3)
DT = datetime.strptime(ETD2,'%Y-%m-%d %H:%M:%S')
ETD = DT.strftime('%d/%m/%Y')

這是你可以申請的iso:

from datetime import datetime

ETD = datetime.fromisoformat('2021-10-15 00:00:00'))
print(f"{ETD.day}/{ETD.month}/{ETD.year}")

輸出:

15/10/2021

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM