美文网首页
利用python写了一个小小的文本处理脚本

利用python写了一个小小的文本处理脚本

作者: yousa_ | 来源:发表于2020-01-31 21:30 被阅读0次

背景

在看花花酱的讲解时,我发现他的视频是按照两种方式分类的:

  • 第一是按视频类别分,比如Search、DP、Tree等
  • 第二是按他发布的顺序

但是花花酱并没有按照题号来进行规整。



所以我决定用python写个小脚本进行一些重新排序。

分析数据

首先将列表copy进txt文件中进行分析。



可以看到都是用'\t'进行分隔的,goodnews
于是我们读取文件,将每一行用'\t'分开

排序

with open("新建文本文档.txt", 'r', encoding='utf-8') as f:
    content_list = f.readlines()

res = []
for i in content_list:
    tmp = i.split('\t')
    res.append(tmp)

接着我们发现问题的痛点在于,第0列是排好序的,我们想要针对第一列的排序列表。

new_res = sorted(res, key=lambda x: int(x[1].split('.')[0]))

这里lambda x: int(x[1].split('.')[0])是提取第一列的元素,第一列我们注意到并不是int类型,而是str,这样排序的效果是1、10、100、1000,不符合预期,于是用 .分开并转换为int类型
这里需要注意的是sorted()不对原对象进行修改,故需要将其赋值
P.S.sort()函数可以直接在原对象上进行修改

写入csv

with open('new.csv', 'w+', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, dialect='excel')
    for content in new_res:
        line_list = content.split('\t')
        spamwriter.writerow(line_list)

效果:



美汁汁儿

相关文章

网友评论

      本文标题:利用python写了一个小小的文本处理脚本

      本文链接:https://www.haomeiwen.com/subject/alrnthtx.html