python 封裝API介面

2021-09-16 18:55:29 字數 3898 閱讀 6231

1.對一天中通話,按時段進行分析

輸入資料為.txt檔案,資料部分展示如下:

u110107_02169228380_530005_20190228125930_61aa.***

u110107_18895672550_530005_20190228165337_ffffe06f.***

u110107_18895672550_530005_20190228165433_ffffe0dc.***

u110107_18895672550_530005_20190228165854_ffff9cb8.***

u110107_18895672550_530005_20190228180136_ffffb997.***

u110107_18895672550_530005_20190228194425_14a8.***

u110107_18995436895_530005_20190228143208_ffff8ede.***

u110107_58033018_530005_20190228150349_5c59.***

u110108_530006_02160383434_20190228121640_5208.***

u110108_530006_02160383434_20190228134648_3117.***

u110108_530006_02160389247_20190228083435_ffff803b.***

u110108_530006_02160389247_20190228084107_ffff8232.***

u110108_530006_02160389247_20190228084154_ffffcc23.***

u110108_530006_02160389263_20190228120132_4bac.***

2.分析如下,返回資料為每個小時對應的通話量

import numpy as np

def phone_frequency_analysis():

with open("data/***_filenames.txt",'r',encoding = "utf-8") as f1:

***_filenames = f1.readlines()

numbers = 24

count1 = 0

count2 = 0

day = "20190228"

phone_frequency = np.zeros(numbers)

for line in ***_filenames:

time_string = line.strip().split('_')[-2]

time_string = int(time_string)

count1 += 1

for i in range(numbers):

if time_string >= int(day+"000000") + 10000 *i and time_string < int(day+"010000") + 10000 * i:

phone_frequency[i] += 1

count2 += 1

else:

pass

#print("phone_frequency:",phone_frequency.astype(int))

phone_frequency_map = {}

phone_frequency_map["phone_frequency"] = phone_frequency.astype(int).tolist()

print(phone_frequency_map)

return phone_frequency_map

if __name__ == '__main__':

phone_frequency_map = phone_frequency_analysis()

print(phone_frequency_map)

3.對介面進行封裝

4.檢視程序

ps aux|grep phone_frequency_api.py
返回

5.檢視埠

6.測試

不帶輸入引數

curl
如果帶有輸入引數

curl "早安我晚點要去進餐"&enterpriseid=100000011
返回

7.遇到的問題

typeerror: array is not json serializable

原因:返回的map裡面有個值是numpy array型別

解決方案:要用tolist()方法將array型別轉化為list型別

封裝API介面

封裝api介面 目的 為了以後修改介面方便,如果專案很大,在每乙個頁面裡修改介面的話,很麻煩,所以封裝在乙個檔案裡,找起來也很方便 如何封裝 1.在src下建乙個restful資料夾,在此下面建乙個api.js檔案 2.因為上面的介面位址寫的是 api 所以要在config資料夾下的index.js...

api介面封裝

作用 為了以後修改介面方便,如果專案很大,在每乙個頁面裡修改介面的話,很麻煩,所以封裝在乙個檔案裡,找起來也很方便 http.js 中 import axios from axios 環境的切換 環境指的是就是開發環境 和 生產環境 npm run build之後 開發環境 development ...

封裝好api介面

詳細註冊 getwxre data true 2.在外部封裝乙個utils檔案裡的乙個auth.js檔案 以及在template login資料夾下的元件 3.在我的頁面的js檔案中引用login資料夾下的元件 在我的頁面的js檔案 寫入 引入外部的auth.js檔案 const auth requ...