我有很多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
数据可以是一些数字和一些字母数字输入。