【发布时间】:2017-05-10 13:29:06
【问题描述】:
我最近开始学习 Python,到目前为止,一切似乎都相当直观。
我有一个包含多行数据的文本文件。我正在遍历每一行,将其拆分为单词,现在我想遍历给定行上的每个单词以检查它是否以给定字符串开头,然后如果是,则将单词更改为其他内容。
到目前为止我有:
with open('test_inputfile.txt','r') as f:
for line in f:
words = line.split('","')
for word in words:
if word.startswith('spam'):
# change given word
但这不起作用,因为我似乎无法访问word 的.startswith() 函数。
我相信它一定很容易做到,因为到目前为止其他一切都非常简单!
谢谢。
【问题讨论】:
-
您可能有一个空的可迭代对象,因为您应该拆分
','而不是'","' -
@MosesKoledoye 不是空的,而是只有一个元素:整个
line。 -
@MosesKoledoye 文本文件的单词之间有逗号和双撇号
-
您可能有类似
"spam","second","third"这样的行,在这种情况下,使用","(引号和逗号)作为分隔符将在第一个、中间和最后一个元素之间产生不同的行为。如果您将引号作为文本的一部分,只需使用逗号作为分隔符并在您的startswith方法中查找"spam而不是spam -
能否请您发布您的输入文件的一部分?