0

次のようなスペースに基づいてデータが編成されている XL シートが 1 つあります。

tag     weights    

aaa        1      
 bbb       1      
 ccc       1       
  dddd    -1
  hhhh    1
ddd       1
 bbbb
  fff      1
  hhh      1
 gggg      1

データはこのようなものです.col 1には、IDに基づいてデータを読み取る方法がインデントされたタグが含まれています。識別にのみ基づいて、私はそれを読むべきです。

また、col2 には重みが含まれています。「1」は「加算」を表し、「-1」は「減算」を表します。

dictのような形式で出力したい

d={'aaa':'bbb+ccc','ccc':'-dddd+hhhh','ddd':'bbbb+gggg','bbbb':'fff+hhh'}

式が来る重みに基づいて、例えば 'ccc':'-dddd+hhhh' bcoz dddd の重みは '-1' で、gggg の重みは '1' です。

誰か助けてくれませんか

4

2 に答える 2

0

データがExcelでどのように見えるかを説明していると思います。それが正しければ、ここに 2 つのアイデアがあります。

  1. ファイルを csv として保存し、python csv モジュールを使用しますhttp://docs.python.org/library/csv.html
  2. http://scienceoss.com/read-excel-files-from-python/xlrdを使用

以下のコメントから、私は書くべきだった:

>>> a = '  111'
>>> len(a) - len(a.lstrip())
2
于 2012-03-22T12:10:35.060 に答える
0

Assuming that the indentation consists only of spaces (that is, no tabs), you can measure the indentation level by len(value) - len(value.lstrip())

于 2012-03-22T12:52:35.800 に答える