#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. Спасибо! Я понял, что ты пытаешься изобразить.