繁体   English   中英

Python DataFrames 有 concat 或 append 问题

[英]Python DataFrames has a concat or append problem

我的专业不是编程或编码。 但是在工作中与Python有关,我必须这样做。 我一个人学习了一个月,做了这段代码,但我想把它改成正确的循环结构。 我该怎么做?

  • 条件 1. df 和 mark 变化 0 ~ 900.(不是 0 ~ 10)
  • 条件二、Access Key一天只能调用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')

您可以尝试以下代码:-

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM