1

私はPythonに比較的慣れていないので、現在取り組んでいるこの小さな部分を完成させようとしています。高レベル: Jython で POI を使用して、2 列のデータを .csv ファイルから .xls に移動します。低レベル: .csv ファイルから 2 列分のデータのみを読み取ります。データが読み込まれたら、2 行目のデータを別の配列に整理します。例えば

Name    Status              arrayGreen = ['a, Green'], ['aa, Green']
 a      Green               arrayRed = ['b, Red'], ['bb, Red']
 b      Red       TO =>     arrayOrange = ['c, Orange'], ['cc, Orange']
 c      Orange              arrayYellow = ['d, Yellow'], ['dd, Yellow']
 d      Yellow
 aa     Green
 bb     Red
 cc     Orange
 dd     Yellow

そのデータを配列に読み取ったら、後で使用するために配列ごとにグループに並べ替えているため、配列データから ', ' を削除します。したがって、データは配列で次のようになります。

arrayGreen = ['a'], ['aa']
arrayRed = ['b'], ['bb']
arrayOrange = ['c'], ['cc']
arrayYellow = ['d'], ['dd']

今、Apache POI を使用して配列内のデータを使用し、それらを .xls に書き込みたいと考えています。POI を使用して .xls からデータをフォーマットして読み取る方法を知っていますが、ここで立ち往生しています。

これまでの私のコードは次のとおりです。

file = open('CSVItems.csv', 'r')

for line in file.readlines():
    content = [value for value in line.split()]

    arrayGreen = [x for x in content if 'Green' in x]
    arrayRed = [x for x in content if 'Red' in x]
    arrayOrange = [x for x in content if 'Orange' in x]
    arrayYellow = [x for x in content if 'Yellow' in x]

    if arrayGreen:
        arrayGreen = [x.replace(',Green', '') for x in arrayGreen]
        print arrayGreen
    elif arrayRed:
        arrayRed= [x.replace(',Red', '') for x in arrayRed]
        print arrayRed
    elif arrayOrange:
        arrayOrange= [x.replace(',Orange', '') for x in arrayOrange]
        print arrayOrange
    elif arrayYellow:
        arrayYellow= [x.replace(',Yellow', '') for x in arrayYellow]
        print arrayYellow

   Console:
   ['a']
   ['b']
   ['c']
   ['d']
   ['aa']
   ['bb']
   ['cc']
   ['dd']

Jython を使用して、各 arrayGreen、arrayRed、arrayOrange、arrayYellow を POI の独自の列として記述するにはどうすればよいですか。

最終的な result.xls は次のようになります。

Green    Red    Orange     Yellow
  a       b        c          d       
  aa      bb       cc         dd

ありがとう。

4

0 に答える 0