2016-10-17 9 views
5

कनवर्ट करें मैं एक संक्षिप्त महीने एएनएम कैसे परिवर्तित कर सकता हूं उदा। Apr पाइथन में पूर्ण नाम से?पाइथन संक्षिप्त नाम का नाम पूर्ण नाम

+0

एक महत्वपूर्ण जानकारी का टुकड़ा याद आ रही है: जहां संक्षिप्त नाम से आता है? यह इस बात पर असर डालेगा कि समाधान को लोकेल सेटिंग्स को ध्यान में रखना चाहिए या नहीं। – Zastai

उत्तर

6

आप datetime अपने टैग प्रति के रूप में प्रयोग पर जोर देते हैं, तो आप एक datetime वस्तु के लिए महीने के लघु संस्करण कनवर्ट करते हैं, तो पूरे नाम के साथ उसे पुन: प्रारूपित कर सकते हैं:

import datetime 
datetime.datetime.strptime('apr','%b').strftime('%B') 
1

एक साधारण शब्दकोश काम करेगा

जैसे

month_dict = {"jan" : "January", "feb" : "February" .... } 

month_dict [ "जन"]

जनवरी '

1

एक त्वरित और गंदा तरीका:

conversions = {"Apr": "April", "May": "May", "Dec": "December"} 
date = "Apr" 

if date in conversions: 
    converted_date = conversions[date] 
3

यहाँ कैलेंडर पुस्तकालय का उपयोग करने के लिए एक तरीका है।

>>> import calendar 
>>> calendar.month_name [list(calendar.month_abbr).index('Apr')] 
'April' 
>>> 
0

इस मिश्रित-संक्षेप और पूरे महीने के नाम, उदाहरण के लिए के लिए है:

Dec 31, 2017 
December 31, 2017 
Aug 31, 2017 
Feb 10, 2018 
March 1, 2018 
Jun 2, 2019 

आप वास्तविक तिथियों के साथ एक पांडा Dataframe में यह कर रहे हैं और ऐसा न करने पर June समाप्त चाहते हैं Junee को मैप किया:

def replace_month_abrev(date_string): 
    month_dict = {"Jan ": "January ", 
       "Feb ": "February ", 
       "Mar ": "March ", 
       "Apr ": "April ", 
       "May ": "May ", 
       "Jun ": "June ", 
       "Jul ": "July ", 
       "Aug ": "August ", 
       "Sep ": "September ", 
       "Sept ": "September ", 
       "Oct ": "October ", 
       "Nov ": "November ", 
       "Dec ": "December "} 
    # find all dates with abrev 
    abrev_found = filter(lambda abrev_month: abrev_month in date_string, month_dict.keys()) 
    # replace each date with its abbreviation 
    for abrev in abrev_found: 
     date_string = date_string.replace(abrev, month_dict[abrev]) 
    # return the modified string (or original if no states were found) 
    return date_string 

combined['deadline'].map(replace_month_abrev) 
संबंधित मुद्दे