Python, Pandas: escribe el contenido de DataFrame en un archivo de texto

Tengo pandas DataFrame como este

XYZ Value 0 18 55 1 70 1 18 55 2 67 2 18 57 2 75 3 18 58 1 35 4 19 54 2 70 

Quiero escribir estos datos en un archivo de texto de esta manera,

 18 55 1 70 18 55 2 67 18 57 2 75 18 58 1 35 19 54 2 70 

He intentado algo como

 f = open(writePath, 'a') f.writelines(['\n', str(data['X']), ' ', str(data['Y']), ' ', str(data['Z']), ' ', str(data['Value'])]) f.close() 

pero no está funcionando. ¿como hacer esto?

Solo puede usar np.savetxt y acceder al atributo np .values :

 np.savetxt(r'c:\data\np.txt', df.values, fmt='%d') 

rendimientos

 18 55 1 70 18 55 2 67 18 57 2 75 18 58 1 35 19 54 2 70 

o to_csv :

 df.to_csv(r'c:\data\pandas.txt', header=None, index=None, sep=' ', mode='a') 

Tenga en cuenta que para np.savetxt tendría que pasar un np.savetxt de np.savetxt que se ha creado con el modo de adición.

Puede usar pandas.DataFrame.to_csv () , y establecer tanto el index como el header en False :

 In [97]: print df.to_csv(sep=' ', index=False, header=False) 18 55 1 70 18 55 2 67 18 57 2 75 18 58 1 35 19 54 2 70 

pandas.DataFrame.to_csv puede escribir directamente en un archivo, para obtener más información, puede consultar los documentos vinculados anteriormente.

Tarde a la fiesta: Prueba esto>

 #pd: your pandas dataframe base_filename = 'Values.txt' with open(os.path.join(WorkingFolder, base_filename),'w') as outfile: pd.to_string(outfile) #Neatly allocate all columns and rows to a .txt file