簡體   English   中英

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]

但這只是將LAST值放在那里。 有沒有辦法讓我在其中添加所有數據? 此信息將始終為String格式,並且我需要使用Win32Com。

更新:我做到了

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

更新:此.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

或者,如果您想在同一單元格中使用前三個數字:

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')

然后,以與以前相同的方式遍歷它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM