我想编写一个python脚本,该脚本应该读取xlsx文件,并且基于列X的值,它应该使用列Z的值写入/追加文件。
示例数据:
Column A Column X Column Y Column Z
123 abc test value 1
124 xyz test value 2
125 xyz test value 3
126 abc test value 4
如果列X中的值= abc,那么它应该在名称为abc.txt的某个路径中创建一个文件(如果尚未存在),并在abc.txt文件中插入列Z的值,同样如果列X = xyz则它应该在xyz.txt的同一路径中创建一个文件,并在xyz.txt文件中插入Z列的值。
from openpyxl import load_workbook
wb = load_workbook('filename.xlsm')
ws = wb.active
for cell in ws.columns[9]: #here column 9 is value is what i am testing which is Column X of my example.
if cell.value == "abc":
print ws.cell(column=12).value #this is not working and i dont know how to read corresponding value of another column
请建议可以做些什么。
谢谢。
答案 0 :(得分:1)
更改
print ws.cell(column=12).value
人:
print ws.columns[col][row].value
在你的情况下:
print ws.columns[12-1][cell.row-1].value
注意如果您使用此索引方法cols
而rows
以索引0开头。这就是我做cell.row-1
的原因,所以在您的专栏发布时会考虑到这一点,如果您的12
从1
开始计算,那么您必须解决11
。
或者,您可以像这样访问您的信息单元:
ws.cell(row = cell.row, column = 12).value
。 请注意,在这种情况下,cols和rows从1开始。