python实现txt文件格式转换为arff格式


Posted in Python onMay 31, 2018

本文实例为大家分享了python实现txt文件格式转换为arff格式的具体代码,供大家参考,具体内容如下

将文件读取出来的时候默认都是字符型的,所以有转换出来有点问题,但是还是可以用的。

文件要求第一行是你对应的属性名,之后是数字。

import sys 
import re 
 
relationname = "" 
filename = "" 
 
if (len(sys.argv)<2): 
  print("Usage:\npython arff.py MyRelationName filename.txt") 
else: 
  relationname = sys.argv[1] 
  filename = sys.argv[2] 
 
 
class Arff: 
  def __init__(self, r, f): 
    self.relationname = r if r is not "" else "MachineLearning" 
    f = f if f is not "" else "MMG_data.txt" 
    self.file1 = open(f, 'r') 
    self.data = [] 
    self.names = [] 
    self.parseData() 
    self.writeToFile() 
 
  def parseData(self): 
    firstLine = True 
    for line in self.file1.readlines(): 
      if not firstLine: 
        try: 
          line = line.replace("\n", "") 
          words = line.split(" ") 
        except ValueError: 
          print("cant parse file!!") 
        self.data.append(words) 
      else: 
        firstLine = False 
        line = line.replace("\n", "") 
        words = line.split(" ") 
        self.names = words 
 
  def getType(self, value): 
    v = "" 
    if(type(value) == type(1)): 
      v = "numeric" 
    elif(type(value) == type(1.0)): 
      v = "numeric" 
    elif(re.match("[0-9]{4}\-[0-9]{2}\-[0-9]{2}\s[0-9]{2}\:[0-9]{2}\:[0-9]{2}", value)): 
      v = "date " + "yyyy-MM-dd HH:mm:ss" 
    elif(type(value) == type("string")): 
      v = "string" 
    elif(v == ""): 
      print("Data type "+value+" not supported yet.") 
    return v 
 
  def writeToFile(self): 
    values = self.data[0] 
    file2 = open("Dexhunter_test_result.arff", 'w+' ) 
 
    self.relationname+="\n" 
 
    relationString = '@RELATION ' + self.relationname 
    file2.write(''+relationString+'') 
 
    for i in range(len(self.names)): 
      str2 = "@ATTRIBUTE " + self.names[i] + " " + self.getType( values[i] ) + "\n" 
      file2.write(''+str2+'') 
    file2.write('''''@DATA\n''') 
 
    for line in self.data: 
      try: 
        file2.write(",".join(line)+"\n") 
      except UnicodeEncodeError: 
          print("cant write Data to file!!") 
 
Arff(relationname, filename)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基于queue和threading实现多线程下载实例
Oct 08 Python
Python实现提取文章摘要的方法
Apr 21 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python 把数据 json格式输出的实例代码
Oct 31 Python
Python request设置HTTPS代理代码解析
Feb 12 Python
python实现顺时针打印矩阵
Mar 02 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
python字符串替换re.sub()实例解析
Feb 09 Python
基于Python的接口自动化读写excel文件的方法
Jan 15 Python
Python 实现Mac 屏幕截图详解
Oct 05 Python
从django的中间件直接返回请求的方法
May 30 #Python
Django项目中包含多个应用时对url的配置方法
May 30 #Python
django 多数据库配置教程
May 30 #Python
python实现超市扫码仪计费
May 30 #Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
May 30 #Python
多个应用共存的Django配置方法
May 30 #Python
python实现支付宝当面付(扫码支付)功能
May 30 #Python
You might like
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
python怎么提高计算速度
2020/06/11 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
文秘专业自荐信
2013/10/14 职场文书
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
中职应届生会计求职信
2013/10/23 职场文书
单位创先争优活动方案
2014/01/26 职场文书
创业资金计划书
2014/02/06 职场文书
市场营销专业求职信
2014/06/17 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
中学团支部工作总结
2015/08/13 职场文书