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)
  • 相关阅读:
    ios中strong和weak的解释理解
    leetcode: Remove Duplicates from Sorted Array II [基本功]
    leetcode : Sort Colors
    leetcode : Search a 2D Matrix
    leetcode : Set Matrix Zeroes [技巧 follow up 逐步优化]
    leetcode : edit distance[hard][经典动态规划]
    leetcode : Climbing Stairs
    leetcode : Add Bianry 基本功 字符转整数
    leetcode : Plus One 基本功
    leetcode : Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/haoqingchuan/p/2629946.html
Copyright © 2011-2022 走看看