2016-02-16 1 views
1

Я хочу написать питон скрипт, который должен прочитать XLSX файл и, основываясь на значении столбца X, он должен написать/добавить файл со значением столбца Z.прочитал две колонки в Excel с помощью питона

Образец данных:

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 и вставить значение столбца Z в abc.txt файле, также, если колонка X = xyz, тогда он должен создать файл в том же пути с помощью xyz.txt и вставить значение столбца Z в файл xyz.txt.

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

Изменить

print ws.cell(column=12).value 

By:

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. Примечание: в этом случае столбцы и строки начинаются с 1.

Смежные вопросы