2017-10-12 185 views
0

我有數據幀,我已經將它改成字典列表:URLEncode的名單

df = data.to_dict(orient = "records") 

輸出:

[{'MAIN KITCHEN': 9.6, 'Time': ' 05/01/2017 00:05:00'}, 
{'MAIN KITCHEN': 9.6, 'Time': ' 05/01/2017 00:10:00'}, 
{'MAIN KITCHEN': 9.6, 'Time': ' 05/01/2017 00:15:00'}, 
{'MAIN KITCHEN': 11.2, 'Time': ' 05/01/2017 00:20:00'}, 
{'MAIN KITCHEN': 11.2, 'Time': ' 05/01/2017 00:25:00'}, 
{'MAIN KITCHEN': 12.8, 'Time': ' 05/01/2017 00:30:00'}, 
{'MAIN KITCHEN': 9.6, 'Time': ' 05/01/2017 00:35:00'}, 
{'MAIN KITCHEN': 11.2, 'Time': ' 05/01/2017 00:40:00'}, 
{'MAIN KITCHEN': 12.8, 'Time': ' 05/01/2017 00:45:00'}] 

P.S:我想只有這樣我的數據。

我想將此輸出編碼爲url或查詢字符串。

我想這:

param = urllib.urlencode(df) 

但我得到一個錯誤:

TypeError: not a valid non-string sequence or mapping object 

誰能告訴我正確的方式做到這一點?

+0

什麼是預期的輸出? – MedAli

+0

@MedAli,%5B%7B%27MAIN + KITCHEN%27%3A + 9.6%2C +%27%27%3A +%27 + 05%2F01%2F2017 + 00%3A05%3A00%27%7D%2C +%0D%0A + %7B%27MAIN +廚房%27%3A + 9.6%2C +%27時間%27%3A +%27 + 05%2F01%2F2017 – Dheeraj

+0

檢查我的答案,並讓我知道你是否有任何問題? – MedAli

回答

0

您需要遍歷字典列表,並在其中的每一個上應用urllib.urlencode

In [46]: [urllib.urlencode(d) for d in df.to_dict(orient='records')] 
Out[46]: 
['Time=+05%2F01%2F2017+00%3A05%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A10%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A15%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A20%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A25%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A30%3A00&MAIN+KITCHEN=12.8', 
'Time=+05%2F01%2F2017+00%3A35%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A40%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A45%3A00&MAIN+KITCHEN=12.8'] 

您還可以在轉換之前,這樣做是爲了詞典:

In [54]: df.apply(lambda x: urllib.urlencode(dict(x)), axis=1) 
Out[54]: 
0 Time=+05%2F01%2F2017+00%3A05%3A00&MAIN+KITCHEN... 
1 Time=+05%2F01%2F2017+00%3A10%3A00&MAIN+KITCHEN... 
2 Time=+05%2F01%2F2017+00%3A15%3A00&MAIN+KITCHEN... 
3 Time=+05%2F01%2F2017+00%3A20%3A00&MAIN+KITCHEN... 
4 Time=+05%2F01%2F2017+00%3A25%3A00&MAIN+KITCHEN... 
5 Time=+05%2F01%2F2017+00%3A30%3A00&MAIN+KITCHEN... 
6 Time=+05%2F01%2F2017+00%3A35%3A00&MAIN+KITCHEN... 
7 Time=+05%2F01%2F2017+00%3A40%3A00&MAIN+KITCHEN... 
8 Time=+05%2F01%2F2017+00%3A45%3A00&MAIN+KITCHEN... 
dtype: object 

In [55]: df.apply(lambda x: urllib.urlencode(dict(x)), axis=1).tolist() 
Out[55]: 
['Time=+05%2F01%2F2017+00%3A05%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A10%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A15%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A20%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A25%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A30%3A00&MAIN+KITCHEN=12.8', 
'Time=+05%2F01%2F2017+00%3A35%3A00&MAIN+KITCHEN=9.6', 
'Time=+05%2F01%2F2017+00%3A40%3A00&MAIN+KITCHEN=11.2', 
'Time=+05%2F01%2F2017+00%3A45%3A00&MAIN+KITCHEN=12.8']