Python 处理数据的实例详解


Posted in Python onAugust 10, 2017

Python 处理数据的实例详解

最近用python(3.2的版本)写了根据特定规则,处理数据的一个小程序,用到了一些python常用的基础知识,在此总结一下:

1,python读文件
2,python写文件
3,python的流程控制
4,python的for循环
5,python的集合,或字符串里判断是否存在某个元素
6,python的逻辑或,逻辑与
7,python的正则过滤
8,python的字符串忽略空格,和以某个字符串开头和按某个字符拆分成list

python的打开文件的模式:

关于open 模式:

w     以写方式打开,
a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+     以读写模式打开
w+     以读写模式打开 (参见 w )
a+     以读写模式打开 (参见 a )
rb     以二进制读模式打开
wb     以二进制写模式打开 (参见 w )
ab     以二进制追加模式打开 (参见 a )
rb+    以二进制读写模式打开 (参见 r+ )
wb+    以二进制读写模式打开 (参见 w+ )
ab+    以二进制读写模式打开 (参见 a+ )

处理代码如下:

def showtxt(path,outpathname,detailpath): 
 
  greenpath=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\green.txt"; 
  redpath=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\red.txt"; 
  redset=listtxt(redpath) 
  greenset=listtxt(greenpath) 
  print("红色词数量: ",len(redset)) 
  print("绿色词数量: ",len(greenset)) 
  #符合1条件的内容写入 
  f1=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\1.txt",encoding="UTF-8",mode="a+") 
  #符合2条件的内容写入 
  f2=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\2.txt",encoding="UTF-8",mode="a+") 
  #符合3条件的内容写入 
  f3=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\3.txt",encoding="UTF-8",mode="a+") 
  #符合4条件的内容写入 
  f4=open(r"C:\Users\qindongliang\Desktop\tnstxt\result\\"+detailpath+"\\4.txt",encoding="UTF-8",mode="a+") 
 
 
 
  delcount=1; 
  f=open(path,encoding="UTF-8",mode="r+") 
  fnew=open(outpathname,encoding="UTF-8",mode="a+") 
  flog=open(outpathname+".log",encoding="UTF-8",mode="a+") 
  #count=1; 
  for line in f: 
    list=line.strip().split("\t") 
    line=line.strip() 
    catalogid=list[0] 
    score=list[1] 
    keyword=clear(list[4].strip()) 
    if keyword in redset: 
      if catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003") : 
        f1.write(line+"\n")#符合1条件写入 
        fnew.write(line+"\n")#符合1条件写入 
      else: 
        flog.write(line+"  不符合条件1 "+"\n") 
        delcount=delcount+1 
 
    if keyword in greenset: 
      if not (catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003")) : 
        fnew.write(line+"\n") 
      else: 
        f2.write(line+"\n") 
        flog.write(line+"  不符合条件2"+"\n") 
        delcount=delcount+1 
 
 
    flist=formatStrList(keyword) 
    if "sexy" in flist or "sex" in flist: 
      if catalogid.startswith("018022") or catalogid.startswith("018035") or catalogid.startswith("014023003") : 
        f3.write(line+"\n") 
        fnew.write(line+"\n") 
      else: 
        flog.write(line+" 不符合条件3"+"\n") 
        delcount=delcount+1 
 
    #if (keyword.find("underwear")!=-1) & keyword.find("sexy")==-1 & keyword.find("sex")==-1: 
    if "underwear" in flist and "sexy" not in flist and "sex" not in flist: 
      if catalogid.startswith("014032") : 
        f4.write(line+"\n") 
        fnew.write(line+"\n") 
      else: 
        flog.write(line+" 不符合条件4"+"\n") 
        delcount=delcount+1 
 
    #print(list[0]," ",list[1]," ",list[4]) 
    #print() 
 
 
 
  flog.write("删除总数目: "+str(delcount)) 
  f.close() 
  f1.close() 
  f2.close() 
  f3.close() 
  f4.close() 
  fnew.close() 
  flog.close() 
 
import re 
def clear(str): 
  str=re.sub("[\"\"\'\'+]","",str) 
  return str 
 
 
def formatStrList(keyword): 
  list=keyword.split(" ") 
  for item in list: 
    item.strip(); 
  return list 
 
 
 
 
def listtxt(path): 
   f=open(path,encoding="UTF-8") 
   s=set() 
   for line in f: 
     s.add(line.strip()) 
   f.close() 
   return s 
 
path1=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\highfrequency.txt" 
pathout1=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\detail\\a_highfrequency.txt" 
detail1path="highfrequency" 
path2=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\highfrequency_d1.txt" 
pathout2=r"C:\\Users\\qindongliang\\Desktop\\tnstxt\\detail\\b_highfrequency_d1.txt" 
detail2path="highfrequency_d1" 
 
#showtxt(path1,pathout1,detail1path) 
 
showtxt(path2,pathout2,detail2path)

以上就是对Python 的数据处理的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
利用Django模版生成树状结构实例代码
May 19 Python
python处理“
Jun 10 Python
python 直接赋值和copy的区别详解
Aug 07 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python怎么删除缓存文件
Jul 19 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 #Python
关于Python中空格字符串处理的技巧总结
Aug 10 #Python
Python排序算法实例代码
Aug 10 #Python
简单谈谈python中的语句和语法
Aug 10 #Python
Python中如何优雅的合并两个字典(dict)方法示例
Aug 09 #Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 #Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 #Python
You might like
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
php中stdClass的用法分析
2015/02/27 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
说一说Python logging
2016/04/15 Python
Python import与from import使用及区别介绍
2018/09/06 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
Python Selenium参数配置方法解析
2020/01/19 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
自我鉴定范文
2013/11/10 职场文书
大学生求职自荐信
2013/12/12 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
2014年售票员工作总结
2014/11/19 职场文书
英文慰问信范文
2015/03/24 职场文书