2024-10-05 17:41:38 发布
网友
我正在读一个文本文件,用逗号分隔单词和数字,然后将它们添加到单独的列表中,但是,名字被省略了。这是我的密码。在
for line in keywordFile: line = keywordFile.readline() keyword.append(line[0]) keywordValue.append(line[1])
似乎您keywordFile是一个file对象,由于file对象是迭代器(一次性iterable),所以在循环第一行之后,您将使用第一行。在
keywordFile
for line in keywordFile: ^
然后使用readline来读取下一行,这是额外的,所以为了解决这个问题,您需要删除这个部分。在
readline
另外,作为一种更具python风格的方法,您可以使用列表理解来创建单词列表,方法是使用逗号。如果要创建一个列表,列出可以使用嵌套循环的所有单词:
但是如果你想把每一行的单词放在一个单独的列表中,你只需要使用一个循环:
with open ('filename') as keywordFile : words = [line.split(',') for line in keywordFile]
或者,更好的选择是使用csv模块以单独的形式打开文件文字。你无法将分隔符参数传递给csv.reader函数:
csv
csv.reader
import csv with open('file_name') as f: words=csv.reader(f,delimiter=',')
这里的words是一个来自分离词元组的迭代器。如果你想连接它们,你可以使用^{}函数。在
words
您将跳到第一个readline(),只需使用for语句中定义的line。在
readline()
for
line
尝试类似于:
for line in keywordFile: tokens = line.split(',') keyword.append(tokens[0]) keywordValue.append(tokens[1])
似乎您
keywordFile
是一个file对象,由于file对象是迭代器(一次性iterable),所以在循环第一行之后,您将使用第一行。在然后使用
readline
来读取下一行,这是额外的,所以为了解决这个问题,您需要删除这个部分。在另外,作为一种更具python风格的方法,您可以使用列表理解来创建单词列表,方法是使用逗号。如果要创建一个列表,列出可以使用嵌套循环的所有单词:
^{pr2}$但是如果你想把每一行的单词放在一个单独的列表中,你只需要使用一个循环:
或者,更好的选择是使用
csv
模块以单独的形式打开文件文字。你无法将分隔符参数传递给csv.reader
函数:这里的} 函数。在
words
是一个来自分离词元组的迭代器。如果你想连接它们,你可以使用^{您将跳到第一个
readline()
,只需使用for
语句中定义的line
。在尝试类似于:
相关问题 更多 >
编程相关推荐