私は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
ありがとう。