我输入以下文字:
"""Brian, A+
Kate, B-
Abe, F
Derek, A"""
我想以下列格式阅读:
Name Grade
Brian A+
Kate B-
Abe F
Derek A
我知道如何在R中做到这一点,但我想知道是否有办法在Python中进行。
答案 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