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程序中操作文件之flush()方法的使用教程
May 24 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
python安装Scrapy图文教程
Aug 14 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
python自动发送邮件脚本
Jun 20 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
python3中numpy函数tile的用法详解
Dec 04 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
外语专业毕业生个人的自荐信
2013/11/19 职场文书
打架检讨书400字
2014/01/17 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
校园广播稿100字
2014/10/06 职场文书
辞职信标准格式
2015/02/27 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书