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 supervisor强大的进程管理工具的使用
Apr 24 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
python实现猜拳游戏
Mar 04 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
python 检测图片是否有马赛克
Dec 01 Python
python用700行代码实现http客户端
Jan 14 Python
pytorch显存一直变大的解决方案
Apr 08 Python
如何在Python项目中引入日志
May 31 Python
深入理解pytorch库的dockerfile
Jun 10 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
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
python图像处理之反色实现方法
2015/05/30 Python
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
入党申请人的自我鉴定
2013/12/01 职场文书
初婚初育证明
2014/01/14 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
小组口号霸气押韵
2015/12/24 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
SQL Server中的游标介绍
2022/05/20 SQL Server
MySQL索引失效场景及解决方案
2022/07/23 MySQL