`
qindongliang1922
  • 浏览: 2147560 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116328
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124593
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58457
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70354
社区版块
存档分类
最新评论

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)







0
0
分享到:
评论

相关推荐

    python处理公式.docx

    下面是一个简单的例子,展示了如何使用SymPy库计算一个函数的导数: ```python import sympy as sp x = sp.Symbol('x') f = x**2 + 2*x + 1 df = sp.diff(f, x) print(df) ``` python处理公式全文共4页,当前为第1页...

    python 脚本语言的简单例子

    在解决arcgis数据问题时,用到的python脚本处理方法,这是一个简单的例子,发给大家共享下,有需要的再联系我奥。

    python组合数据类型.pptx

    序列类型 计算机不仅对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行批量处理。一些例子包括: 给定一组单词{python, data, function, list, loop},计算并输出每个单词的长度; 给定一个学院...

    Python 自然语言处理

    《Python自然语言处理》基于Python编程语言以及一个名为NLTK的自然语言工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。第1章到第3章介绍了语言处理的基础,讲述如何使用小的...

    python-pandas-例子.docx

    python pandas 例子 Python Pandas是一个强大的数据分析工具,它提供了丰富的数据结构和数据处理函数,可以帮助我们轻松地进行数据清洗、数据分析和数据可视化等工作。在本文中,我们将列举一些Python Pandas的例子...

    《Python数据结构与算法》教程及代码

    举个例子:二分查找就是一个非常经典的算法,而二分查找经常需要作用在一个有序数组上。这里二分就是一种折半的算法思想, 而数组是我们最常用的一种数据结构,支持根据下标快速访问。很多算法需要特定的数据结构来...

    Python3分析处理声音数据的例子

    今天小编就为大家分享一篇Python3分析处理声音数据的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Python中FIR滤波和小波包滤波对比(MNE脑电数据处理).zip

    Python中FIR滤波和小波滤波对比,内含相关代码和示例数据。例子中有小波包的实现以及MNE库中FIR滤波的实现。

    Python3 面向对象编程

    《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。 《Python 3面向对象编程》不是Python 的入门书籍,适合...

    Python开发技术详解

    本书共27章,由浅入深、全面系统地介绍了利用python语言进行程序开发的知识和技巧,包括 python的安装和环境配置、python的基本语法、模块和函数、内置数据结构、字符串和文件的处理、正则表达式的使用、异常的捕获...

    QT调用python处理图像

    QT读取图像,将Mat矩阵作为参数传递给python,利用python进行图像的计算。同时将二维数组作为参数传递到python中,作为两个参数传递的例子。python处理完成的图像进行返回,由QT进行接收,并将图像的数据进行打印。

    用Python将Excel数据导入到SQL Server的例子

    因为近期需要将excel导入到SQL Server,但是使用的是其他语言,闲来无事就尝试着用python进行导入,速度还是挺快的,1w多条数据,也只用了1s多,代码也比较简单,就不多解释了。 用到的库有xlrd(用来处理excel),...

    PYTHON自然语言处理中文版

    本书基于Python 编程语言及其上的一个名为自然语言工具包(Natural Language Toolk it ,简称NLTK)的开源库。NLTK 包含大量的软件、数据和文档,所有这些都可以从http:/ /www.nltk.org/免费下载。NLTK 的发行版本...

    数据可视化教学代码和案例(python+jupyter)

    数据可视化的教学代码: 包括折线图+柱状图+饼图+盒图+散点图+直方图+3d图 画布的布局、画图中中文乱码的解决、背景板的选择等 简单的数据分析和可视化案例: titanic数据的简单分析可视化 iris数据的聚类可视化 GDP...

    一个数据可视化实战例子

    一个数据可视化实战例子,包含数据和源码,了解背景与目标 --了解背景 -- --- 熟悉数据情况------ 熟悉项目流程 ---- 读取与处理新零售智能数据 ---- 读取数据 --- 清洗数据------规约数据----- 绘制可视化图形-----...

    Python编程入门经典

    第15章 使用Python处理XML 249 15.1 XML的含义 249 15.1.1 层次标记语言 249 15.1.2 一组标准 251 15.2 模式/DTD 251 15.2.1 文档模型的用途 251 15.2.2 是否需要文档模型 252 15.3 文档类型定义 252 15.3.1 DTD示例...

    Python模块 - Beautifulsoup中文手册

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 这篇文档介绍了...

    Python时间序列数据分析-以示例说明.doc

    本文结合一个例子,说明python如何解决: 1.判断一个时序数据是否是稳定。对应步骤(1) 2. 怎样让时序数据稳定化。对应步骤(2) 3. 使用ARIMA模型进行时序数据预测。对应步骤(3,4) step1: 通过ACF,PACF进行ARIMA(p,...

    Python数据殿堂:数据分析与数据可视化

    【入门基础+轻实战演示】【讲授方式轻松幽默、有趣不枯燥、案例与实操结合,与相关课程差异化】利用python进行数据处理、 分析,并结合大量具体的例子,对每个知识进行实战讲解,本课程通过大量练习和案例对各个知识...

Global site tag (gtag.js) - Google Analytics