2016-11-22 1 views
0

파이썬 사전이 텍스트로 저장되는 MySQL 데이터베이스에 컬럼이 있습니다.파이썬 사전은 MySQL에 텍스트로 저장됩니다.

입력 :

print(row.optional_items) 
print(type(optional_items)) 

출력 :

{'Bed 90,-': '90,00', 'Baby bath': '90,00', 'Child chair': '90,00', 'Fee': '150,00', 'End cleaning' 
: '730,00', 'Linned Kr. 90,-': '90,00'} 
<class 'str'> 

내가 파이썬 사전 등의 변수로 작업하고 싶지만 파이썬이 문자열 고려 있기 때문에 할 수 없습니다. 을 사용하여 사전을 변환하려고했지만 결과는 ValueError: dictionary update sequence element #0 has length 1; 2 is required

입니다. row.optional_items를 사전으로 변환하여 사용할 수 있습니까?

누군가 도와 드릴 수 있기를 바랍니다. 감사! 당신이 실제 DICT에 문자열 형태로 DICT를 변환 할 경우

+2

당신이 컬럼에 저장 있는지에 대한 제어가있는 경우, 그것은 JSON으로 데이터를 저장하기 위해 아마 더 낫다 이는 표준 형식이며 다른 언어에서도 쉽게 데이터를 읽을 수 있기 때문입니다. –

+0

데이터베이스를 표준화하고 속성 값 테이블을 사용하여 각 사전 요소를 별도의 행에 저장하는 것이 좋습니다. – Barmar

답변

4

, 이렇게 :

from ast import literal_eval 
dict_str = "{'a': 1}" 
dict_dict = literal_eval(dict_str) 
+4

eval()은 위험하기 때문에 eval()에 비해 literal_eval()의 사용을 강조해야합니다. – rstif350

+0

감사! 매력처럼 작동합니다! – Wessi

관련 문제