簡體   English   中英

從輸入文件創建名稱列表

[英]Creating a List of Names from an Input File

我瘋狂地嘗試找出如何擺脫錯誤“ str has no attribute append”。 我需要將人的名字從輸入文件添加到name_list。

輸入文件中的典型行將顯示為:

塔梅卡·哈里斯3/4/17

這是我到目前為止的代碼:

def process_input(file1, any_dict, any_set):

    #open input file
    customer_input_file = open(file1, 'r')


    #initialize a list to store info by line
    line_list = []

    #Create a name counter
    index = 0

    #read file line by line
    for line in customer_input_file:
        #split the line
        line_list = line.split()
        #slice the list to make a list with only names and no dates
        name_list = line_list[-1]
        #create a variable for first name from list
        fname = name_list[0].title()
        #create a last name variable from list
        lname = name_list[1].title()
        #add the two name variables together as a new list
        input_name = [fname + ' ' + lname]


        #add names to name list
        name_list.append(input_name)

        #add names to name list
        any_set.add(name_list[index])

        #count the times a name repeats in the name list
        any_dict[input_name] = name_list.count(input_name)


        #add 1 to index
        index += 1


    #Close input file
    customer_input_file.close
# slice the list to make a list with only names and no dates
name_list = line_list[-1]

上面的代碼返回列表中的最后一個項目,它是一個字符串,這就是為什么name_list.append(input_name)引發錯誤的原因。

您需要排除最后一項:

name_list = line_list[:-1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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