博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python代码小实践之split_csv
阅读量:5122 次
发布时间:2019-06-13

本文共 1441 字,大约阅读时间需要 4 分钟。

'''This python script is used to split the .arff file got from marsyas to .csv files, which is easier to be read into the matlab for further processs.
 
Create on 2012-7-13
 
@auther: mainred
'''
import xlrd, xlwt
import time
import re
import os
 
file_name = raw_input('please input name of the arff file:\n')
path = os.getcwd()
 
file_abs_path = path + '\\' + file_name + '.arff'
 
if not os.path.exists(file_abs_path):
    print "There is no %s.xls in such directory" % file_name
    time.sleep(2)
    exit()
 
data = xlrd.open_workbook(file_name+'.arff')
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols
 
 
file = xlwt.Workbook()
 
pattern1 = r'[^\\]*$'
 
name = re.search(pattern1,table.row_values(68)[0]).group(0).split('.')[0]
 
tablew = file.add_sheet(name)
 
redundancy = ''
j = 0
pas = False
for i in range(70,nrows):
    if pas:
        pas = False
        continue
    elif table.row_values(i)[0].startswith('% filename'):
 
        name = name + '.csv'
        file.save(name)
        
        file = xlwt.Workbook()
        
        name = re.search(pattern1,table.row_values(i)[0]).group(0).split('.')[0]
        print name
        tablew = file.add_sheet(name)
        pas = True
        j = 0
        continue
    elif table.row_values(i)[0] == '':
        continue
    else:
        if j == 0:
            pattern2 = r'[^,]+?$'
            redundancy = re.search(pattern2, table.row_values(i)[0]).group(0)
            print redundancy
        tablew.write(j,0,table.row_values(i)[0].replace(redundancy,''))
        j = j + 1
    
name = name + '.csv'
file.save(name)

转载于:https://www.cnblogs.com/haoqingchuan/archive/2012/08/09/2629946.html

你可能感兴趣的文章
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
一道不知道哪里来的容斥题
查看>>
window添加右键菜单
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>
css3之transform-origin
查看>>
Master选举原理
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
小别离
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
万能的SQLHelper帮助类
查看>>