0

我已经在谷歌和这个网站上阅读了类似问题的其他答案,但它们都不适用于我的脚本。

我需要csv_file按 py 脚本的第三列对 a 中的信息进行排序。然后,使用排序后的信息,查找重复项并将其删除,但将计数添加到 csv_file。

for ip in open("lists.txt"):
    with open("csv_file.csv", "a") as csv_file:
        csv_file.write("\r IP:" + ip.strip() + ", Count, A, B, C \r")
        for line in open("data.txt"):
            new_line = line.split()
            if "word" in new_line:
                if "word"+ip.strip() in new_line:
                    csv_file.write(ip.strip() + ", " + new_line[10].replace("word=", ", ") + new_line[12].replace("word=", ", "))
                    try:
                        csv_file.write(new_line[14].replace("word=", ", "))
                    except IndexError:
                        pass
                    csv_file.write("\r")
with open("csv_file.csv", "r") as inputfile:
    reader = csv.reader(inputfile)
    headers = next(reader)
    for row in reader:
        key = (row[0], row[1:])
        if key not in rows:
            rows[key] = row + [0,]
        rows[key][-1] += 1

我不知道为什么这不起作用,并返回如下错误:

TypeError: unhashable type: 'list'

问题:如何按第 3 列排序、删除重复项并通过 py 脚本向我的 csv_file 添加重复计数?

4

1 回答 1

1

如果我没记错的话,“a”标签会在这一行打开:

with open("csv_file.csv", "a") as inputfile:

这意味着您正在为写作而不是阅读开放。您应该使用“r”或“+”。

于 2013-08-23T16:25:43.950 回答