我的专业不是编程或编码。但是,Python在工作中与我有关系,我必须这样做。我独自学习了一个月并编写了这段代码,但我想将其更改为正确的循环结构。我该怎么办?
附加问题:如果我接收XML格式的数据,应该如何编码?
import urllib.request
import json
import pandas as pd
import datetime
Host = "https://oapi.saramin.co.kr/job-search?access-key=L8ILhlpIElsdz7BvhWQxcON3g8WBCSRyPTBEY7qlitt5ksdVBV6"
headers = { Host: "oapi.saramin.co.kr", "Accept": "application/json"}
for i in range(0, 10) :
pages = i + 1
url = Host + "&start=" + str(pages) + "&count=110"
response = urllib.request.urlopen(url)
json_str = response.read().decode("utf-8")
json_object = json.loads(json_str)
globals()['mark{}'.format(i)] = pd.json_normalize(json_object['jobs']['job'])
df0=pd.DataFrame(mark0)
df1=pd.DataFrame(mark1)
df2=pd.DataFrame(mark2)
df3=pd.DataFrame(mark3)
df4=pd.DataFrame(mark4)
df5=pd.DataFrame(mark5)
df6=pd.DataFrame(mark6)
df7=pd.DataFrame(mark7)
df8=pd.DataFrame(mark8)
df9=pd.DataFrame(mark9)
df_all = pd.concat([df0, df1, df2, df3, df4, df5, df6, df7, df8, df9])
today_string = datetime.datetime.now().strftime('%y.%m.%d_%Hh%Mm%Ss')
df_all.to_excel('Saramin_Raw_Data(' + today_string + ').xlsx')
您可以尝试以下代码:-
import urllib.request
import json
import pandas as pd
import datetime
Host = "https://oapi.saramin.co.kr/job-search?access-key=L8ILhlpIElsdz7BvhWQxcON3g8WBCSRyPTBEY7qlitt5ksdVBV6"
headers = { Host: "oapi.saramin.co.kr", "Accept": "application/json"}
df_list = list()
NUM_FILES = 3
for i in range(0, NUM_FILES+1) :
pages = i + 1
url = Host + "&start=" + str(pages) + "&count=110"
response = urllib.request.urlopen(url)
json_str = response.read().decode("utf-8")
json_object = json.loads(json_str)
mark = pd.json_normalize(json_object['jobs']['job'])
df = pd.DataFrame(mark)
df_list.append(df)
df_all = pd.concat(df_list)
today_string = datetime.datetime.now().strftime('%y.%m.%d_%Hh%Mm%Ss')
df_all.to_excel('Saramin_Raw_Data(' + today_string + ').xlsx')
您必须设置NUM_FILES = 900
的值
希望对您有帮助!
关于您的其他问题,您可以阅读这篇不错的中型文章:-https://medium.com/@robertopreste/from-xml-to-pandas-dataframes-9292980b1c1c