2014-11-29 1 views
1

Это файл в формате JSON (file2) в коде, который читается:преобразование строки из Юникода строк в обычную строку без одинарных кавычек в Python

[ 
    { 
     "Id": "cl", 
     "description": "Creates", 
     "statements": [ 
      "Sentence1", 
      "Sentence2", 
      "Sentence3" 
     ], 
     "parameters": [ 
      { 
       "name": "Id", 
       "required": true, 
       "description": "Start date for rundate" 
      } 
     ] 
    } 
] 

Это код питона:

file2=sys.argv[2]; 
loc_file_2=str(sys.argv[2]) ; 
open_json_2=open(loc_file_2); 
data_2=json.load(open_json_2); 

Query_statements_list=data_2[0].get('statements'); 

json_input_string=""; 

json_input_string=str(Query_statements_list); 

print json_input_string.encode('utf-8'); 

выход из печати:

[u'Sentence1', u'Sentence2', u'Sentence3'] 

Я желаю выход быть преобразован из Юникода строки строк в обычной строки и без этих одинарные кавычки и запятые, так что я получить одну строку строка

Например:

str= Sentence1Sentence2Sentence3 
+0

Почему вы хотите выбросить информацию? – bmargulies

ответ

0

Когда вы используете str в списке, вы просто получите представление этого списка в синтаксисе Python.

Если вы хотите что-то еще, вы должны использовать некоторые манипуляции с строкой. Например, вы можете использовать str.join для получения нужного выхода:

json_input_string = ''.join(Query_statements_list) 

делает json_input_string равным Sentence1Sentence2Sentence3. Вы можете изменить строку, используемую для соединения, чтобы получить разные результаты. Например,

json_input_string = ':'.join(Query_statements_list) 

будет производить Sentence1:Sentence2:Sentence3

+0

спасибо ..Это работает :) – elyon

+0

Привет nneonneo, если я получаю следующий выход «SENTENCE1», FLAG «SENTENCE2», FLAG «Sentence3» FLAG все на новой строке после FLAG то как я получаю Sentence1FLAGSentence2FLAGSentence3FLAG? – elyon