1

以下の形式の構成データがあります。このデータを Python で解析する最良の方法は何ですか? csvモジュールと簡単にこのモジュールを確認しました。使い方が思いつきませんでした。既存のパーサーは perl でハッキングされています。

|------------+-----------------+--------|
| | ColHead1 | Col_______頭 2 | CH3 |
|------------+-----------------+--------|
| | abcdefg000 | * | | somev1 |
| | abcdefg001 | * | | somev2 |
| | abcdefg002 | * | | | |
| | abcdefg003 | * | | | |
| | abcdefg004 | * | | | |
| | abcdefg005 | * | | | |
| | abcdefg006 | * | | | |
| | abcdefg007 | * | | | |
| | abcdefg008 | * | | | |
| | abcdefg009 | * | | | |
| | abcdefg010 | * | | | |
|------------+-----------------+--------|

4

2 に答える 2

2

あなたはそのようなことを試すことができます:

def parse(ascii_table):
    header = []
    data = []
    for line in filter(None, ascii_table.split('\n')):
        if '-+-' in line:
            continue
        if not header:
            header = filter(lambda x: x!='|', line.split())
            continue
        data.append(['']*len(header))
        splitted_line = filter(lambda x: x!='|', line.split())
        for i in range(len(splitted_line)):
            data[-1][i]=splitted_line[i]
    return header, data
于 2013-10-01T23:47:17.997 に答える