Я хочу обернуть функции, которые я создал, в одну функцию, чтобы это был единый фрагмент кода. Как мне это сделать?

#python #function

Вопрос:

Это мои 3 функции.

     def fetch_data(url_link):
    url=url_link
    xml_data = requests.get(url).content
    fetch_data.soup = BeautifulSoup(xml_data, "xml")
 
 def meta_data(soup):
    # Name of filing company
    company = soup.find('filingManager').find('name').string
            # Company identifier: Central Index Key
    CIK = soup.find('cik').string
            # Form type: 13F-HR
    formtype = soup.find('submissionType').string
            # 13F-HR file number
    fileNumber = soup.find('form13FFileNumber').string
            # Reporting date (e.g. 03-31-2020)
    period_of_report_date = datetime.strptime(soup.find('periodOfReport').string, '%m-%d-%Y').date()
            # Filing date (up to 45 days after reporting date)
    filing_date = datetime.strptime(soup.find('signatureDate').string, '%m-%d-%Y').date()
    info_dict={"filingManager":company,"cik":CIK,"TYPE":formtype,"form13FFileNumber":fileNumber,
               "periodOfReport":period_of_report_date,'signatureDate':filing_date}
    meta_data.info_data=pd.DataFrame((info_dict),index=[0])    
 
 def concate(info_data,data):
    newdf = pd.DataFrame(np.repeat(info_data.values,266,axis=0))
    newdf.columns = info_data.columns
    concate.df=pd.concat([newdf,data],axis=1)
 

Теперь я хочу объединить эти 3 функции в одну функцию, чтобы я мог вызывать их с помощью одной функции. Что-то вроде

 def xml2df(url_link):
   def function 1:
   call function 1
   def function 2:
   call function 2
 

Спасибо, что помогли мне.

Комментарии:

1. Вы уже знаете, как это сделать, и на самом деле вы уже сделали это в своем коде. Подсказка: когда вы писали def meta_data(soup): , как вы (и я говорю вам, вы это сделали) «вложили» все звонки в soup.find etc. в одной функции?

2. Если только вопрос не в том, «как мне заставить функцию возвращать данные для использования в другом месте»; в этом случае я тщательно выбрал слово return для этого предложения, и вам следует проверить учебник по Python или поисковую систему, чтобы понять. Переполнение стека-это не место для изучения основ языка, и оно не заменяет учебные пособия или документацию.

3. Спасибо! Я понял, что ты пытаешься изобразить.