分割.txt文件并附加到两个单独的列表Python

2024-10-01 00:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.txt文件,如下所示:

enter image description here

如何遍历文本文件的每一行,在逗号上拆分两个字符串元素,并将每个字符串元素追加到它自己的列表中?在

我有:

longSubjectNames = [] #example: "Academy for Classical Acting"
abbreviations = [] #example: "ACA"

with open ("/Users/it/Desktop/Classbook/classAbrevs.txt", "r") as myfile:
subjectAndAbrevs = tuple(open("/Users/it/Desktop/Classbook/classAbrevs.txt", 'r'))

for subAbrevsLine in subjectAndAbrevs:
   subAbrevsLine.strip()
   allSubsAndAbrevs = subAbrevsLine.split(",")

这没有正确分割字符串元素。一旦这两个字符串元素被拆分,我如何才能将它们附加到各自的列表中呢?在


Tags: 文件字符串txt元素列表forexampleit
3条回答

试试这个:

longSubjectNames = [] #example: "Academy for Classical Acting"
abbreviations = [] #example: "ACA"

with open ("/Users/it/Desktop/Classbook/classAbrevs.txt", "r") as myfile:

    for line in myfile:
        allSubsAndAbrevs = line.replace(" ", "").replace("\n", "").split(",")
        longSubjectNames.append(allSubsAndAbrevs[0])
        abbreviations.append(allSubsAndAbrevs[1])

所有的答案似乎都不符合我的要求。我想出了一个可行的解决方案:

import csv 

myfile = open("/Users/it/Desktop/Classbook/classAbrevs.csv", "rU")

lines = [tuple(row) for row in csv.reader(myfile)]

longSubjectNames = [] 
abbreviations = [] 

for item in lines:
    longSubjectNames.append(item[0])
    abbreviations.append(item[1])

Usings list不会让你知道你的文件是否每行有一个以上的逗号,所以我将使用元组,如下所示:

longSubjectNames = [] #example: "Academy for Classical Acting"
abbreviations = [] #example: "ACA"

with open ("/Users/it/Desktop/Classbook/classAbrevs.txt", "r") as myfile:
    lines = myfile.readlines()
    for line in lines:
        name, abrev = line.replace("\n","").split(",")
        longSubjectNames.append(name)
        abbreviations.append(abrev)

print longSubjectNames
print abbreviations

相关问题 更多 >