python将数据添加到现有的Excel单元格Win32com

假设我有A1作为工作簿中唯一的单元格,它是空白的。 我想我的代码添加“1”“2”和“3”,所以它说“1 2 3”

截至目前我有:

NUMBERS = [1, 2, 3, 4, 5] ThisSheet.Cells(1,1).Value = NUMBERS 

这只是将第一个值写入单元格。 我试过了

 ThisSheet.Cells(1,1).Value = Numbers[0-2] 

但是这只是把最后的价值在那里。 有没有办法让我添加所有的数据呢? 这些信息将始终是string格式,我需要使用Win32Com。

更新:我做到了

stringVar =','.join(str(v)for v in LIST)

更新:这个.join完美地为NUMBERS列表。 现在我试着把它归结到另一个看起来像这样的列表

 LIST=[Description Good\nBad, Description Valid\nInvalid] 

如果我打印LIST [0]结果是

 Description Good Bad 

这是我想要的。 但是,如果我在这个上使用.join,它会打印

 ('Description Good\nBad, Description Valid\nInvalid') 

所以对于这个我需要它打印,就像我做LIST [0]和LIST [1]

所以,如果你想把每个号码放在不同的单元格中,你可以这样做:

 it = 1 for num in NUMBERS: ThisSheet.Cells(1,it).Value = num it += 1 

或者如果你想在同一个单元格中的前3个号码:

 ThisSheet.Cells(1,it).Value = ' '.join([str(num) for num in NUMBERS[:3]]) 

或者NUMBERS所有元素:

 ThisSheet.Cells(1,1).Value = ' '.join([str(num) for num in NUMBERS]) 

编辑

根据您的问题编辑,对于包含\nstringtypes,并假设每次find换行符时,都要跳转到下一行:

 # Split the LIST[0] by the \n character splitted_lst0 = LIST[0].split('\n') # Iterate through the LIST[0] splitted by newlines it = 1 for line in splitted_lst0: ThisSheet.Cells(1,it).Value = line it += 1 

如果要为整个LIST而不是LIST[0] ,请先将它与连接方法合并,然后再将其拆分:

 joined_list = (''.join(LIST)).split('\n') 

然后,像我们以前一样重复遍历它。