python向现有excel单元格Win32com添加数据

2024-04-23 08:52:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有A1作为工作簿中唯一的单元格,并且它是空的。 我希望我的代码加上“1”“2”和“3”,这样它就变成“1 2 3”

到目前为止,我有:

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

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

^{pr2}$

但这就是最后的价值所在。有没有办法让我把所有的数据都加进去?此信息将始终是字符串格式,我需要使用Win32Com。在

更新: 是的

stringVar=','.join(str(v)代表列表中的v)

在更新:这个。加入很适合数字列表。现在我试着把它归于另一个类似这样的列表

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

如果我打印列表[0],结果是

Description Good
Bad

这就是我想要的。但如果我用。加入这个,它就会打印出来

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

所以对于这个,我需要它打印出来,就像我确实列出了[0]和列表[1]


Tags: 代码列表valuea1descriptiongood价值cells
1条回答
网友
1楼 · 发布于 2024-04-23 08:52:55

因此,如果你想把每个数字放在不同的单元格中,你可以做如下操作:

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

或者,如果您希望前3个数字在同一个单元格中:

^{pr2}$

NUMBERS中的所有元素:

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

编辑

根据您的问题编辑,对于包含\n的字符串类型,假设每次找到换行符,您都希望跳到下一行:

# 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],请首先使用join方法将其合并并在其后面拆分:

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

然后,用我们之前做的一样的方法来迭代它。在

相关问题 更多 >