我目前正在尝试将.txt文件分解为列表列表以便于排序。但是,我似乎无法使我的分裂功能起作用。 Text文件看起来像这样
First Name Second Name Age Class Room Number GPA
Louis Darter 16 1 3.5
Emma Handzo 15 1 3.6
Jing Luo 25 2 2.0
Charles Xavier 13 2 3.0
Scott Summer 10 1 3.1
以下是我目前正在尝试做的事情:
import csv
reader = csv.reader(open('ARCC_Challenge1.txt', 'rb'), delimiter=' ')
split_text = []
for line in reader:
split_text.append(line[1:-1])
print split_text
理想情况下,我希望以类似[[First Name 1, Last Name 1, Age 1, class room number 1, GPA 1],[First Name 2, Last Name 2, Age 2, class room number 2, GPA 2]...]
的格式获取输出。当前代码生成一个数组,但是它的空白点和许多值似乎都附加了\t
他们。
你可以给我什么想法来实现这个目标?
答案 0 :(得分:4)
我猜你的文件是以制表符分隔的,而不是以空格分隔的?请尝试以下方法:
import csv
with open('ARCC_Challenge1.txt', 'rb') as fin:
csvin = csv.reader(fin, delimiter='\t') #\t = tab delimited
next(csvin, '') # skip header
split_text = list(csvin)
答案 1 :(得分:3)
print map(str.split,open('ARCC_Challenge1.txt', 'rb'))
我认为应该基本上做你想做的事情
根据python的版本
,您可能需要在结果上调用list
或者如果你更像是一个列表理解人
print [line.split() for line in open('ARCC_Challenge1.txt', 'rb')]
你保存你的行而不是打印它们
lines = ...
#then you can skip some with normal slices
print lines[3:]