Yo soy la ejecución de este programa:

f = open( "animals.txt", "r")
g = f.read()
g1 = g.split(',') #turning the file into list
print g1

Y quiero que esta a salir:

['ELDEN', 'DORSEY', 'DARELL', 'BRODERICK', 'ALONSO']

Lugar, yo estoy haciendo esto:

['"ELDEN"', '"DORSEY"', '"DARELL"', '"BRODERICK"', '"ALONSO"']

¿Alguien sabe cómo quitar el interior de las cotizaciones

  • Además, actualmente no se cierre el archivo cuando haya terminado con él. Lo que usted necesita hacer f.close() al final o abrir el archivo con un con la instrucción para que se cerrarán automáticamente.

4 Comentarios

  1. 1

    Trate de una lista de comprensión que le permite de manera eficaz y eficiente reasignar la lista a una lista equivalente con citas eliminado.

    g1 = [i.replace('"', '') for i in g1] # remove quote from each element
  2. 3

    Usted puede fácilmente franja de los caracteres de la oferta mediante un lista de comprensión y str.tira:

    f = open( "animals.txt", "r")
    g = f.read()
    g1 = [x.strip('"') for x in g.split(',')]
    print g1

    Demo:

    >>> lst = ['"ELDEN"', '"DORSEY"', '"DARELL"', '"BRODERICK"', '"ALONSO"']
    >>> [x.strip('"') for x in lst]
    ['ELDEN', 'DORSEY', 'DARELL', 'BRODERICK', 'ALONSO']
    >>>
  3. 1

    Lo que es la creación de su archivo en el primer lugar? Parece como si usted tiene un tipo de CSV donde todos los elementos, o, al menos, todos los elementos de la cadena, están entre comillas. Como tal, tiene por lo menos un par de opciones para el movimiento de la cita-el retiro de la marca «aguas arriba» de lo que la mayoría de las otras respuestas que aquí se sugiere:

    1. Utilizar el csv módulo:
    import csv
    with open('animals.txt', 'r') as f:
        g = csv.reader(f)
        g1 = g.next()
    1. De incluir las comillas en su split(), y cortarle la cabeza y cola de cotizaciones primero:
    with open('animals.txt', 'r') as f:
        g = f.read()
        g1 = g[1:-1].split('","')

    La primera opción puede ser un poco más «pesado» de lo que buscas, pero es más robusto (y todavía no que pesado). Tenga en cuenta que la segunda opción supone que el archivo NO tiene un final de salto de línea al final. Si lo hace, usted tiene que ajustar en consecuencia.

  4. 0

    Tal vez deberíamos volver a la fuente.

    Al parecer el archivo contiene el texto "ELDEN", "DORSEY", "DARELL", "BRODERICK", "ALONSO" (etc). Podemos delegar el análisis:

    import ast
    
    with open("animals.txt") as inf:
        g1 = ast.literal_eval("[" + inf.read() + "]")
    • Eso es un poco lindo.

Dejar respuesta

Please enter your comment!
Please enter your name here