2017-03-27 7 views
1

Ich versuche zu schreiben (Excel-Datei)/Drucken Sie einen Datenrahmen, wo Spalte Werte besteht aus der nächsten Zeile (\ n).Pandas: nächste Zeile druckt nicht in Dataframe

>>> textbox = "" 
>>> textbox+=str('So, so you think you can tell \n') 
>>> textbox+=str('Heaven from hell') 
>>> print textbox 
So, so you think you can tell 
Heaven from hell 
>>> df1 = pd.DataFrame({'lyric':[textbox]}) 
>>> df1 
               lyric 
0 So, so you think you can tell \nHeaven from hell 
>>> print df1 
               lyric 
0 So, so you think you can tell \nHeaven from hell 

Also, wenn ich die df drucken oder eine Datei in Excel schreiben, ich sehe, dass anstelle der nächsten Zeile „\ n“ gedruckt wird.

Wie wird die nächste Zeile gedruckt?

Antwort

0

Ich glaube, Sie Listen von String von Split mit \n erstellen müssen, dann Anfang und Ende Leerzeichen Streifen:

splitlines Lösung:

df1 = pd.DataFrame({'lyric':textbox.splitlines()}) 
df1.lyric = df1.lyric.str.strip() 
print (df1) 
          lyric 
0 So, so you think you can tell 
1    Heaven from hell 

split Lösung:

print (textbox.split('\n')) 
['So, so you think you can tell ', 'Heaven from hell'] 

df1 = pd.DataFrame({'lyric':textbox.split('\n')}) 
df1.lyric = df1.lyric.str.strip() 
print (df1) 
          lyric 
0 So, so you think you can tell 
1    Heaven from hell 

strip durch Listenverständnis:

df1 = pd.DataFrame({'lyric':[x.strip() for x in textbox.split('\n')]}) 
print (df1) 
          lyric 
0 So, so you think you can tell 
1    Heaven from hell 

EDIT:

Ich glaube, Sie brauchen replace:

df1 = pd.DataFrame({'lyric':[textbox]}) 
df1.lyric = df1.lyric.str.replace('\n', '') 
print (df1) 
              lyric 
0 So, so you think you can tell Heaven from hell 
+0

Dank. was ich tun muss, wenn ich beide Zeilen unter demselben Index = 0 drucken muss. Werden beide Zeilen in derselben Zelle gedruckt, wenn ich df1.to_excel() verwende –

+0

Bitte überprüfen Sie die bearbeitete Antwort. – jezrael

+0

Es ist nicht möglich, zwei Zeilen nacheinander zu drucken, anstatt sie in einer Zeile auszudrucken. Ich versuche, einen Zeilenumbruch zwischen vielen Zeilen eines 'Excel-Zellenwerts' einzufügen. –

Verwandte Themen