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中操作MySQL入门实例
Feb 08 Python
Python基于PycURL实现POST的方法
Jul 25 Python
Python之Web框架Django项目搭建全过程
May 02 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
基于Python列表解析(列表推导式)
Jun 23 Python
三步实现Django Paginator分页的方法
Jun 11 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
python科学计算之scipy——optimize用法
Nov 25 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
4种非常实用的python内置数据结构
Apr 28 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中使用Oracle数据库(4)
2006/10/09 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
php实现mysql封装类示例
2014/05/07 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python过滤序列元素的方法
2020/07/31 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
酒店总经理工作职责
2013/12/13 职场文书
高职教师岗位职责
2013/12/24 职场文书
迟到检讨书500字
2014/02/05 职场文书
小学生暑假家长评语
2014/04/17 职场文书
新品发布会策划方案
2014/06/08 职场文书
捐助倡议书
2015/01/19 职场文书
品质保证书格式
2015/02/28 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
《社戏》教学反思
2016/02/22 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书