1

我对 Python 比较陌生,目前我正在努力完成我目前正在研究的这个小部分。高级:使用 POI 和 Jython 将 2 列数据从 .csv 文件移动到 .xls。低级:从 .csv 文件中仅读取两列数据。读取数据后,我将第二行中的数据组织到不同的数组中。例如

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 在 POI 中将每个 arrayGreen、arrayRed、arrayOrange、arrayYellow 写入其自己的列。

最终 result.xls 看起来像这样:

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

谢谢。

4

0 回答 0