2017-07-16 62 views
0

我有以下的文本輸入:獲得以表格的形式輸入在Python

"""Brian, A+ 
    Kate, B- 
    Abe, F 
    Derek, A""" 

我想在下面的格式來閱讀:

Name Grade 
Brian A+ 
Kate B- 
Abe  F 
Derek A 

我知道該怎麼做在R中,但我想知道在Python中是否有這樣做的方法。

回答

2

如果您希望使用dataframepandas,一種方式可能是如下:

import pandas as pd 
from io import StringIO 

input_text = """Brian, A+ 
       Kate, B- 
       Abe, F 
       Derek, A""" 
df = pd.read_csv(StringIO(input_text), names = ['Name', 'Grade']) 
print(df) 

輸出:

   Name Grade 
0    Brian  A+ 
1    Kate  B- 
2    Abe  F 
3    Derek  A 
+1

謝謝。我學到了一些新東西。 – user98235

+0

@ user98235太棒了! '快樂編碼.' – 0p3n5ourcE

1

你的數據看起來很像在CSV格式的數據,你可以使用CSV模塊:

import csv 

input = """Brian, A+ 
Kate, B- 
Abe, F 
Derek, A""" 

spamreader = csv.reader(input.split("\n"), delimiter=',') 
for row in spamreader: 
    print row 
+0

謝謝。我學到了一些新東西。 – user98235

1

如果格式化IMPO rtant給你,你可以使用str.ljust(width)

In [201]: import csv 

In [202]: with open('test.csv') as csvfile: 
    ...:  reader = csv.reader(csvfile) 
    ...:  print('Name'.ljust(10), 'Grade'.ljust(10)) 
    ...:  for row in reader: 
    ...:   print(row[0].ljust(10), row[1].ljust(10)) 
    ...:   
Name  Grade  
Brian  A+  
Kate  B-  
Abe   F   
Derek  A