我有一个文本文件,带有很多名称,这些名称之间用逗号分隔,每个名称都用引号引起来。文本文件看起来像:“ MARY”,“ PATRICIA”,“ LINDA”,“ BARBARA”,“ ELIZABETH”,“ JENNIFER”,“ MARIA”,“ SUSAN”,“ MARGARET”,“ DOROTHY”,“ LISA”, “ NANCY”,“ KAREN”
我的问题是,在将文本文件转换为列表后尝试遍历此文本文件时,整个文本文件都被视为单个字符串。 将其转换为字符串的文本文件ater如下所示: [[''MARY','PATRICIA','LINDA','BARBARA','ELIZABETH','JENNIFER','MARIA','SUSAN','MARGARET','DOROTHY','LISA','NANCY', 'KAREN']]
我尝试使用的代码是:
import csv
results = []
with open('p022_names.txt', newline='') as inputfile:
for word in csv.reader(inputfile):
results.append(word)
print(results)
当我做类似
print(results[0])
它会打印整个文本文件,而不只是'Mary'。因此,我将如何分别遍历每个名称,而不是将整个内容视为一个字符串。
答案 0 :(得分:0)
您未能指定分隔符。
这是一个完整的例子:
https://realpython.com/python-csv/
import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.')
在此示例中,您可以使用row[1]
等访问各个“单词”。