我有一个文本文件,需要按第一列排序并将所有重复与数据左侧的计数合并,然后将排序/计数的数据写入已经创建的 csv 文件。
前文本文件:
, 00.000.00.000, word, 00
, 00.000.00.001, word, 00
, 00.000.00.002, word, 00
, 00.000.00.000, word, 00
, 00.000.00.002, word, 00
, 00.000.00.000, word, 00
前结果:
, 3, 00.000.00.000, word, 00
, 1, 00.000.00.001, word, 00
, 2, 00.000.00.002, word, 00
我的代码:
for ip in open("list.txt"):
with open(ip.strip()+".txt", "a") as ip_file:
for line in open("data.txt"):
new_line = line.split(" ")
if "blocked" in new_line:
if "src="+ip.strip() in new_line:
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
ip_file.write(", " + new_line[13])
for ip_file in os.listdir(sub_dir):
with open(os.path.join(sub_dir, ip_file), "a") as f:
data = f.readlines()
data.sort(key = lambda l: float(l.split()[0]), reverse = True)
每当我测试代码时,我都会收到错误TypeError: 'str' object is not callable
或类似的东西。我不能.split() .read() .strip()
在没有收到错误的情况下使用 etc。
问题:如何对文件内容进行排序并计算重复行数(不定义函数)?
我基本上是在尝试:
sort -k1 | uniq -c | sed 's/^/,/' >> test.csv