2017-10-12 4 views
0

나는 dataframe을하고 난 사전의 목록으로 변환 한 :를 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 + 키친 % 27 % 3A + 9.6 % 2C + % 27 시간 % 27 % 3A + % 27 + 05 % 2F01 % 2F2017 + 00 3A05 % 3A00 % 27 % 7D % 2C + % 0D % 0A + % 7B % 27MIN + KITCHEN % 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']