簡體   English   中英

如何將字符串類型的“dd/mm/yyyy”格式化為python中單引號括起來的“yyyy-mm-dd”?

[英]How to format “dd/mm/yyyy” of string type to “yyyy-mm-dd” enclosed in single quotes in python?

問題陳述:以字符串格式將日期(存在最大壓差的地方)指定為“yyyy-mm-dd”。 確保用單引號括起來。

test.py 文件提供了檢查我的筆記本的問題。 它是只讀的,我不允許編輯它。

測試.py

import re
from hashlib import md5
import nbformat
import pickle

def read_ipynb_file(file_path):
    with open(file_path) as file:
        out = str(nbformat.read(file_path, as_version=4))
    return out

path = 'question/EDA_question.ipynb'

out = read_ipynb_file(path)


max_p_range_day =  re.findall(r'max_p_range_day\s*=\s*\'\d*[-,]?\d*[-,]?\d*\'', out)[0].replace(' ', '').replace(' ', '').replace("'", "") 

錯誤:

___________________________ ERROR collecting test.py ___________________________

test.py:23: in <module>

    max_p_range_day =  re.findall(r'max_p_range_day\s*=\s*\'\d*[-,]?\d*[-,]?\d*\'', out)[0].replace(' ', '').replace("'", "")

E   IndexError: list index out of range

在數據集“Day”列中的日期是這樣的類型字符串:“23/03/2018”。

我的代碼:

....
df5=pd.to_datetime(df5['Day']).dt.date  # date which has maximum pressure diff   

from datetime import datetime
max_p_range_day = datetime.strftime(df5.values[0],"'%Y-%m-%d'")

這是用單引號打印日期,但在 test.py 評估它時顯示錯誤。

為了檢查自己,我嘗試了這個:

  1. 在文件中寫了 max_p_range_day -

文件內容:

max_p_range_day = '2018-03-23'
  1. 然后這樣做:

    x=open("handson_date.txt",'r')

    out=x.read()

    res=re.findall(r'max_p_range_day\s*=\s*\'\d*[-,]?\d*[-,]?\d*'', out)[0].replace(' ' , '')。代替(”'”, ””)

沒有錯誤。 res 顯示“max_p_range_day=2018-03-23”。

但是當使用 test.py 測試我的代碼時,會拋出錯誤。

請建議如何解決這個問題。

使用以下更改您的代碼

re.findall(r"max_p_range_day\s*=\s*'\d*[-]\d*[-]\d*'",out)[0].replace(' ', '').replace("'", "")

這將與您合作

暫無
暫無

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

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