[英]Splitting a text file into a list of lists
我目前正在嘗試將.txt文件分解為列表列表,以便於排序。 但是,我似乎無法使我的拆分功能正常工作。 文本文件將如下所示
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]...]
的格式獲取輸出。 [[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]...]
Mycurrent代碼產生的陣列,但其完全空白點和許多值似乎有\\t
附着到它們。 您可能會給我實現這一目標的任何想法嗎?
我猜你的文件是制表符分隔的,不是空格分隔的? 請嘗試以下操作:
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)
print map(str.split,open('ARCC_Challenge1.txt', 'rb'))
我認為基本上應該做你想要的
您可能需要根據結果調用list
,具體取決於python的版本
或者,如果您更喜歡列表理解者
print [line.split() for line in open('ARCC_Challenge1.txt', 'rb')]
您保存行而不是打印行
lines = ...
#then you can skip some with normal slices
print lines[3:]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.