在Python中以表格格式获取输入

时间:2017-07-16 16:36:40

标签: python database

我输入以下文字:

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

我想以下列格式阅读:

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

我知道如何在R中做到这一点,但我想知道是否有办法在Python中进行。

3 个答案:

答案 0 :(得分:2)

如果您希望使用dataframe中的pandas,则可以采用以下方式:

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 :(得分: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

答案 2 :(得分:1)

如果格式对您很重要,您可以使用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