簡體   English   中英

將文本文件拆分為列表列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM