2017-05-24 30 views
-1

我如何將收到的變量分析到數組中。我從一個網站收到它們,我想將它們插入到我的Firebird數據庫中,但是如果我可以通過解析它到列表中,它會更快。 這是我的燒瓶代碼的樣子:從python燒瓶解析收到的變量

@app.route('/fddatumupdate', methods=['GET']) 
def fddatumupdate(): 

    datums = request.args.get('datums') 
    IDS1 = request.args.get('ids1') 
    IDS2 = request.args.get('ids2') 
    IDS3 = request.args.get('ids3') 

    print datums 
    print IDS1 
    print IDS2 
    print IDS3 

    #cur.execute("UPDATE OR INSERT INTO T_FOOD_DUTY (F_FD_DATE, F_US_ID1, F_US_ID2, F_US_ID3) values(%s, %s, %s) matching (F_FD_DATE)") 
    return("great succes") 

這是打印輸出,所以你可以看到我的數據的外觀:

2017-5-15,2017-5-16,2017-5-17,2017-5-18,2017-5-19,2017-5-20,2017-5-21 
27,36,26,435,26,30,31 
27,28,30,435,27,28,26 
30,28,30,28,29,28,27 

我總是得到錯誤,當我嘗試從解析它們NoneType爲一個字符串或數組: 類型錯誤:不支持的操作數類型(S)爲+:「NoneType」和...

回答

1

您可以通過,字符split您的字符串,你會得到一個列表:

print datums.split(',') 

或者,你可以使用list comprehensions一些額外的檢查來構建你的列表:

# example code 
if datums: # this will check if 'datums' is None 
    print [i if i > 0 for i in datums.split(',')] # include element in list only if it is larger than 0 
+0

但它不是一個字符串,它NoneType –

+0

嗯,那麼你可能會檢查是否'datums'(或任何變量)是不是'None'解析它之前... – errata

0

找到了答案,我分析我收到的變量,而我是接受他們的連接putthing他們到我的本地變量。它需要是這樣,那麼:

datums = request.args.get('datums') 
IDS1 = request.args.get('ids1') 
IDS2 = request.args.get('ids2') 
IDS3 = request.args.get('ids3') 

datumArray = str(datums).split(',') 
IDS1Array = str(IDS1).split(',') 
IDS2Array = str(IDS2).split(',') 
IDS3Array = str(IDS3).split(',') 
+0

如果'datum'是一個字符串,那麼我原來的答案('print datums.split(',')')中的一行等價於你的'str(datums).split(',')'。 – errata