zoukankan      html  css  js  c++  java
  • python代码小实践之split_csv

    '''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)
  • 相关阅读:
    [设计模式]C++实现单例
    JMeter基本使用
    Dev TextEdit限制只输入数字
    sql优化方式
    MySql中的索引
    SQL索引的概念
    mysql sql语句大全
    bandedGridView定位尾行(GridView通用)
    GridView中的下拉框赋值
    使得 XtraEditors.TextEdit 失去焦点(LostFocus)的方法
  • 原文地址:https://www.cnblogs.com/haoqingchuan/p/2629946.html
Copyright © 2011-2022 走看看