我正在尝试使用openpyxl编写一个python脚本,从本地服务器打开excel电子表格和csv文件。如果满足某些条件,我希望将csv文件中的行写入excel文件中的下一个可用行。
我的代码实现了这一点,但我在工作簿的其余部分中放弃了所有格式。如何让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()
答案 0 :(得分:1)
openpyxl不会从现有工作簿中删除格式。如果您认为存在问题,请使用示例文件和脚本创建错误报告。
答案 1 :(得分:0)
我有同样的问题,在用openpyxl
打开文件后,更新它然后保存它我放弃了格式化信息。
此外,我收到如下错误消息(更多警告):Discarded range with reserved name
。
我终于意识到我正在使用从0
开始的索引来读/写excel文件。但是Row0
和Col0
在Excel中不存在。
从&#34; 0&#34;更改起始值后到了#1; 1),现在一切都很好。