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类型强制转换long to int的代码
Feb 10 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
Python解析Excle文件中的数据方法
Oct 23 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
微信小程序python用户认证的实现
Jul 29 Python
python新式类和经典类的区别实例分析
Mar 23 Python
深入浅析Python代码规范性检测
Jul 31 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
PHP4 与 MySQL 交互使用
2006/10/09 PHP
php 显示指定路径下的图片
2009/10/29 PHP
drupal 代码实现URL重写
2011/05/04 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
如何使用angularJs
2017/05/08 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
对于Python装饰器使用的一些建议
2015/06/03 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python元组常见操作示例
2019/02/19 Python
python try 异常处理(史上最全)
2019/03/07 Python
Pytorch之finetune使用详解
2020/01/18 Python
Python如何急速下载第三方库详解
2020/11/02 Python
python里反向传播算法详解
2020/11/22 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
公司拓展活动方案
2014/02/13 职场文书
环境保护建议书
2014/08/26 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
租赁协议书
2015/01/27 职场文书