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)
  • 相关阅读:
    java encoding
    [转]shell 变量的作用域
    [转] shell :解析json的命令-jq
    [转] Linux user-space Atomic Operations && GCC Atomic builtins
    [转]reference counting
    [转]memory order,memory barrier,原子操作
    [转]c语言volatile 关键字
    OCF介绍
    [转]计算机存储 cache介绍
    [转] linux IO
  • 原文地址:https://www.cnblogs.com/haoqingchuan/p/2629946.html
Copyright © 2011-2022 走看看