![](/img/trans.png)
[英]How to create a dummy column from a string expression in pandas data frame?
[英]how do create a pandas data frame from a string output in python
有一堆rest api請求,每個請求都有相似的數據。 一旦我調用 url 並解析我想要的數據,我想創建 pandas 數據框,在完成所有請求后創建一個大數據框。 所以下面的數據字符串應該附加到數據框:
#this code is to call each url and get the data
hyperId=['hyper1', 'hyper2','hyper3']
#creating empty data frame with column names
df1=pd.DataFrame(columns = ['id','servername', 'modelname'
for id in hyperId1:
hyperUrl="http://testabc"+id
resp = requests.get(hyperurl)
data1=id+","+resp['servername']+","+resp['model']
#output of each request
print(data1)
hyper101,serverabc,proliant
我需要將 data1 附加到名為 df1 的數據框,如下所示
df1 = pd.read_csv(io.StringIO(data1))
df1=df1.append(data)
我對python和pandas很陌生。 當我運行它時,它顯示空數據框,所有內容都附加到列中,包括列名和實際數據。 任何幫助,將不勝感激。
不要預先創建任何數據框,也不要轉換和連接字符串值(因為它可能會對大數據產生性能影響)。 只需創建一個空列表來保存每一行(作為一個列表),並將每個列表附加到一個循環中,然后最后創建數據框,一旦您需要列表列表。
import requests
# this code is to call each url and get the data
hyperId = ['hyper1', 'hyper2', 'hyper3']
# Don't create any Data Frame
# df1 = pd.DataFrame(columns=['id', 'servername', 'modelname'])
dataList = []
for id in hyperId:
hyperUrl = "http://testabc" + id
resp = requests.get(hyperUrl)
# data1 = id + "," + resp['servername'] + "," + resp['model']
dataList.append([id, resp['servername'], resp['model']])
df = pd.DataFrame(dataList, columns=['id', 'servername', 'modelname'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.