我想寫一個python腳本使用openpyxl從本地服務器打開excel電子表格和csv文件。如果符合某些條件,我需要將csv文件中的行寫入excel文件中的下一個可用行。Openpyxl失去電子表格格式
我的代碼實現了這一點,但是我在工作簿的其餘部分中丟失了所有格式。我如何獲得openpyxl僅僅將信息添加到我的電子表格而不改變其他地方的格式?任何幫助將不勝感激。
import urllib
import openpyxl
from openpyxl import load_workbook
wb = load_workbook('SPC.xlsx')
sht = wb.active
date = str(sht['A1'].value) + str(sht['B1'].value) + str(sht['C1'].value) + '00'
url = 'http://10.5.190.4/logs/Run_Data/'+date+'.CSV'
csv = urllib.request.urlopen(url).read().decode()
lines = csv.split('\n')
number = sht['F2'].value
i = 0
i1 = 1
i2 = 0
sht['A1'].value = 26
while lines[i] !='':
data = lines[1].split(',')
if data[2] == 'ON' and data[16] != '0':
if data[3] == '' or data[4] == '' or data[5] == '':
while i1 < 17:
sht.cell(row = number, column = i1).value = data[i1-1]
i1 = i1 + 1
i2 = i2 + 1
number = number + 1
i1 = 1
i = i + 1
else:
while i1 < 17:
sht.cell(row = number, column = i1).value = data[i1-1]
i1 = i1 + 1
i2 = i2 + 1
number = number + 1
i1 = 1
i = i + 1
else:
i = i + 1
wb.save('SPC.xlsx')
wb.close()
看看這裏的筆記:https://openpyxl.readthedocs.org/en/default/usage.html#read-an-existing-workbook –
如果你有一個特定的文本樣式,你正在嘗試保持,那麼你將需要讀取最後一個樣式的行,並指定要在要寫入的單元格中使用的樣式。 [看這裏](http://openpyxl.readthedocs.org/en/default/styles.html)另外,對於語法糖,您可以將所有「i1 = i1 + 1」更改爲「i1 + = 1」,這是等同的。 – disflux