使用openpyxl更新多个Excel工作簿的值

时间:2018-12-11 22:10:49

标签: python excel openpyxl

我有很多Excel工作表,它们具有很多相同的值,应该定期用新值更新这些值,因此我用Google搜索并找到了Automate the Boring Stuff. Chapter 12 – Working with Excel Spreadsheets

我的工作簿的第1到6行有一个标题,上面有几张图像,并且某些单元格已合并。我遵循了第12章,找到了一个简单的脚本即可满足我的需要,这就是我想出的

import openpyxl
from PIL import *

excelFile = openpyxl.load_workbook('V23 R.0.xlsx')

sheet = excelFile.get_sheet_by_name(u'Caratula')

thickness_update = {'12.7': 12.5,
                    '6.4': 6.35,
                    '7.9': 8.0,
                    '4.8': 4.75}

for rowNum in range(3, 30):
    nominalThickness = sheet.cell(row=rowNum, column=6).value
    if nominalThickness in thickness_update:
        sheet.cell(row=rowNum, column=6).value = thickness_update[nominalThickness]

excelFile.save('V23 R.1.xlsx')

我知道第12章中的代码旨在基于第1列的值替换第2列的值,但是我认为我的代码应该用 thickness_update 中的值更改第6列的值。 em>,但它什么也没做。列6具有相同的四个值,但顺序不同。

要查看openpyxl是否正确访问了.xlsx文件,

sv = sheet.cell(row=1, column=2).value
print sv

,它返回。无论我要的是什么单元格,这种情况都发生了。

正如我之前说的,标题有两个图像,并且收到以下警告消息

/home/gval/.local/lib/python2.7/site-packages/openpyxl/worksheet/header_footer.py:49: UserWarning: Cannot parse header or footer so it will be ignored
  warn("""Cannot parse header or footer so it will be ignored""")
/home/gval/.local/lib/python2.7/site-packages/openpyxl/reader/drawings.py:50: UserWarning: wmf image format is not supported so the image is being dropped
  warn(msg)

编辑:这是第一行的样子

Couple of images in a two merged cells |  Something |  Something 
Something |  Something    | Something  |  Something |  Something
Something in a merged cells            |  Something |  Something

数据可以是一些数字和一些字母数字输入。

0 个答案:

没有答案