Pandas Read_CSV cita problema

Tengo un archivo que se parece a:

'colA'|'colB' 'word"A'|'A' 'word'B'|'B' 

Quiero usar pd.read_csv('input.csv',sep='|', quotechar="'" ) pero obtengo el siguiente resultado:

 colA colB word"AA wordB' B 

La última fila no es correcta, debe ser word'B B ¿Cómo puedo evitar esto? He intentado varias iteraciones, pero ninguna de ellas es la palabra que lee las dos filas correctamente. Necesito un poco de experiencia en lectura CSV!

Creo que necesitas str.strip con apply :

 import pandas as pd import io temp=u"""'colA'|'colB' 'word"A'|'A' 'word'B'|'B'""" #after testing replace io.StringIO(temp) to filename df = pd.read_csv(io.StringIO(temp), sep='|') df = df.apply(lambda x: x.str.strip("'")) df.columns = df.columns.str.strip("'") print (df) colA colB 0 word"AA 1 word'B B 

La fuente del problema es que ‘se define como una cita, y como un personaje regular.

Usted puede escapar por ejemplo

 'colA'|'colB' 'word"A'|'A' 'word/'B'|'B' 

Y luego use escapechar:

 >>> pd.read_csv('input.csv',sep='|',quotechar="'",escapechar="/") colA colB 0 word"AA 1 word'B B 

También puedes usar: quoting = csv.QUOTE_ALL – pero la salida incluirá los caracteres de comillas

 >>> import pandas as pd >>> import csv >>> pd.read_csv('input.csv',sep='|',quoting=csv.QUOTE_ALL) 'colA' 'colB' 0 'word"A' 'A' 1 'word'B' 'B' >>>