在字符串Python中删除具有特定条件的行

时间:2015-02-23 17:55:50

标签: python twitter text

我正在研究Twitter消息的某个关键字,使用Twitter的Twitter搜索API。

现在我有一个大型CSV文件,包含包含此关键字的消息,但也包含用户名中的关键字。所以这些消息与关键字无关,关键字恰好在用户名中。

这是我当前的代码,但它不起作用: 我想做什么:

@XXXXXXXXXX推文:YYYYYYYYYYYYYYYYYYYYYYY

我尝试删除关键字Amsterdam位于XXXXXX

部分的所有行
import csv


input = open('oefendeleted.txt', 'rb')
output = open('oefendeleteduser.txt', 'wb')
writer = csv.writer(output)
for row in csv.reader(input):
    input.row.split('@')[1].split['tweeted'][2]
    if not str[1].contains('Amsterdam'):
            writer.writerow()
input.close()
output.close()

1 个答案:

答案 0 :(得分:0)

以下是一些问题。

  1. 您在发布的代码中没有定义str。更重要的是,str is a built-in

  2. input.row不正确。您无需在此处row获得资格。

  3. 没有字符串方法.contains()。您可以使用.find().index()

  4. 你永远不会用writer.writerow()写任何东西。

  5. 相反,你应该做类似的事情:

    # ... 
        mystr = row.split('@')[1]
        if not mystr.find('Amsterdam'):
            writer.writerow(row)
    # ... 
    

    除此之外:在此处发布问题之前,您通常可以进行更多调试。