python 将数据添加到现有的 excel 单元格 Win32com
python add data to existing excel cell 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
的字符串类型,并假设每次找到换行符时,您都想跳转到下一行:
# 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')
然后,以与之前相同的方式遍历它。
假设我将 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
的字符串类型,并假设每次找到换行符时,您都想跳转到下一行:
# 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')
然后,以与之前相同的方式遍历它。