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])
编辑
根据您的问题编辑,对于包含\n
stringtypes,并假设每次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')
然后,像我们以前一样重复遍历它。