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