Python DataFrames出现连续或附加问题

问题描述 投票:0回答:1

我的专业不是编程或编码。但是,Python在工作中与我有关系,我必须这样做。我独自学习了一个月并编写了这段代码,但我想将其更改为正确的循环结构。我该怎么办?

  • 条件1. df和mark更改为0〜900。(不是0〜10)
  • 条件2.每天最多只能调用500次访问键,所以我希望您不要尝试太多。

附加问题:如果我接收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')
python pandas dataframe concat
1个回答
0
投票

您可以尝试以下代码:-

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

© www.soinside.com 2019 - 2024. All rights reserved.