2017-10-09 2 views
3

J'ai ce script python qui prend les arguments comme des chaînes séparées par "," mais je ne peux pas simplement le diviser car il y a des arguments qui contiennent ",". L'entrée est quelque chose comme ceci:transformer une chaîne contenant des arguments en un tableau avec python

"hello, how are you","how old are you" 

et je veux les obtenir comme:

["hello, how are you","how old are you"] 
+1

est donc votre entrée en fait une seule chaîne ' « « bonjour, comment vas-tu », « quel âge êtes-vous » »', parce que comme tu l'as écrit c'est déjà un tuple de 2 cordes ...? – Julien

+0

oui c'est une chaîne –

Répondre

3

Étant donné que votre chaîne ressemble csv, vous pourriez peut-être utiliser le module csv.

import csv 
my_str = '"hello, how are you","how old are you"' 
my_csv = [my_str] # Wrap in a list because the csv module expects it 
csv_reader = csv.reader(my_csv) 
final_array = next(csv_reader) 

en sortie:

[ 'bonjour, comment vas-tu', 'quel âge êtes-vous']

1

Sans l'aide du module csv

my_str = '"hello, how are you","how old are you"' 
my_str = my_str.split('"')[1::2] 
print(my_str) 

Sorties :

[ « bonjour, comment vas-tu », « quel âge êtes-vous »]