Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
exportar a .csv o .txt
#1
Tengo un fichero .csv con 16 mil filas y 15 columnas... de este fichero cojo sólo la Licencia que no es más que un identificador de producto y la fecha asociada a cada una de ellas.

LICENCIA      FECHA 
FE-101        01/09/19 00:10 
FE-145        03/09/19 04:11 
FE-162        04/09/19 05:46 
FE-139        05/09/19 08:56 
FE-156        07/09/19 09:10 
FE-162        10/09/19 20:45 
FE-159        12/09/19 21:23 
FE-162        25/09/19 22:23 
.
.
.
etc.. etc..

después de aplicar groupby + apply + np.array mi salida en consola es algo así... que es justo lo que yo quiero... primera columna toda la lista de identificadores ordenados como etiqueta o encabezado de fila (ahora aparece sólo una vez y las filas se reducen a 64) y a continuación en una única fila las 16 mil fechas asociadas a cada uno de ellos en unos hai 100 fechas y en otros 500 fechas. 

FE-101      [01/09/19 15:35, 01/09/19 16:45, 01/09/19 16:5... 
FE-102      [01/09/19 05:44, 01/09/19 06:07, 01/09/19 06:1... 
FE-103      [02/09/19 08:05, 02/09/19 08:16, 02/09/19 08:4.. 



FE-188      [01/09/19 15:35, 01/09/19 16:45, 01/09/19 16:5... 
FE-189      [01/09/19 05:44, 01/09/19 06:07, 01/09/19 06:1... 
FE-190      [02/09/19 08:05, 02/09/19 08:16, 02/09/19 08:4... 
Name: FECHA, dtype: object> 

Lo que no consigo es que al exportarlo a .csv o txt se mantenga ese formato. Cuando abro el fichero exportado se muesta 

FE-101 fecha 1  fecha 2 fecha 3 fecha 4 
fecha 5 fecha 6 fecha 7 fecha 8 
.
.
.
FE-102 .....

 
y así hasta completar las fechas de ese identificador 

a continuación sigue con el resto de identificadores siempre así identificador cuatro fechas y salto de carro y otras cuatro...

yo quiero identificador Y a continuación todas sus fechas separadas por comas y asi todas las filas. He probado varias cosas pero no me sale y no sé exactamente que buscar para conseguirlo

datos = pd.read_csv('s201909.csv',usecols=['LICENCIA', 'FECHA'], encoding = 'utf-8')
# otras operaciones y me quedo con un DataFrame llamado : nuevo
datfra = pd.DataFrame(nuevo)
# aplico groupby y apply y ningún error
datfra = datfra.groupby('LICENCIA')['FECHA'].apply(np.array)

# consigo hacer la exportación con varias instrucciónes pero ninguna me da el formato de salida que quiero
Responder
#2
Hola, bienvenido.

¿Cuál es el código que estás usando para exportar a .csv o .txt? Te recomiendo que dejes un código mínimo que reproduzca tu error y el archivo .csv de ejemplo correspondiente, para que nos sea más fácil ayudarte.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
(25-04-2020, 09:01 PM)Francisco escribió: Hola, bienvenido.

¿Cuál es el código que estás usando para exportar a .csv o .txt? Te recomiendo que dejes un código mínimo que reproduzca tu error y el archivo .csv de ejemplo correspondiente, para que nos sea más fácil ayudarte.

Saludos

gracias por su interés... he encontrado la solución en google ... la dejo aquí por si fuese de utilidad para alguien más... disculpe las molestias, llevaba dos días buscando y la encontré después postear aquí.

# inicial
datfra = datfra.groupby('LICENCIA')['FECHA'].apply(np.array)

# solución pasarlo a lista y no a un array de numpy
datfra = datfra.groupby('LICENCIA')['FECHA'].apply(list)
datfra.to_csv('exp.csv')
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)