脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python数据处理详情

python数据处理详情

2022-04-11 21:55上进小菜猪 Python

这篇文章主要介绍了python数据处理详情,文章通过json文件的一个数据表展开对主题的详细说明,具有一定的参考价值需要的小伙伴可以参考一下

一,前言

我们现在拿到了一个十分庞大的数据集。是json文件,里面存储了将近十万个数据,现在要对其中的数据进行清洗处理。

python数据处理详情

二,python模块

  1. import json
  2. import jieba

我们需要用json模块来处理json文件,和使用jieba库来分析词性,这样可以实现我们的需求。

2.1,增加停用词表

停用词表.txt,把停用词表存入stopwords,原因是:我们的目标分析json里有一些标点符号。

  1. stopwords = [line.strip() for line in open("停用词表.txt",encoding="utf-8").readlines()]

基本如图所示:

python数据处理详情

a+str(b)+c这是文件名称,a+b+c=./json/poet.song.0.json b递增,实现动态取值

  1. with open(a+str(b)+c,'r',encoding='utf8')as fp:

因为有将近500个json文件。每个文件里有好几千组数据,我现在尽力的优化代码,现在提取一次,把需要的数据存入文件里面差不多需要五分钟。

2.2,顺序读取

  • 定义一个空的字符串,将json对象转换为python对象。定义一个空的list存放诗句。
  • 循环json_data i为里面的每一个元素。
  • 新的追加到list_paragraphs列表
  • 循环 j为里面的每一句。

代码如图所示:

python数据处理详情

使用jieba库,分析str内容的词性【注意是名称,动词。。。。】排行输出都是俩个字是巧合,没有字数限制

  1. words = jieba.lcut(str_s)

现在words为分析完毕的词性列表,遍历。

排除特殊符号

  1. for word in words:
  2.             if word not in stopwords:
  3.                 if len(word) == 1:
  4.                     continue
  5.                 else:
  6.                     counts[word] = counts.get(word,0) + 1

出现频率加一。

2.3,lambda函数

使用lambda函数,sort快速排序,遍历输出频率前50的词性。

  1. items.sort(key=lambda x:x[1], reverse=True)

之后赋值word, count。

  1. word, count = items[i]
  2.     print ("{:<10}{:>7}".format(word, count))

三,运行

python数据处理详情

3.1,存入文件

  1. f=open('towa.txt',"a",encoding='gb18030')
  2.             f.writelines("题目:"+textxxx)
  3.             f.writelines(word_ping)

python数据处理详情

到此这篇关于python数据处理详情的文章就介绍到这了,更多相关python数据处理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_52908342/article/details/124065858

延伸 · 阅读

精彩推荐