使用python在Excel中读取两列

时间:2016-02-16 21:55:10

标签: python-2.7

我想编写一个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

请建议可以做些什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

更改

print ws.cell(column=12).value

人:

print ws.columns[col][row].value

在你的情况下:

print ws.columns[12-1][cell.row-1].value

注意如果您使用此索引方法colsrows以索引0开头。这就是我做cell.row-1的原因,所以在您的专栏发布时会考虑到这一点,如果您的121开始计算,那么您必须解决11

  

或者,您可以像这样访问您的信息单元:ws.cell(row = cell.row, column = 12).value请注意,在这种情况下,cols和rows从1开始。