from openpyxl import load_workbook
import json
wb = load_workbook(filename='Deployment Plan_2015.xlsx',read_only=True)
ws = wb['Deployment Plan']
x = 4
data = []
for row in ws.rows:
for cell in row:
if not cell.value:
print('null')
x = x+1
else:
print(ws['A'+str(x)].value)
data.append(ws['A'+str(x)].value)
x = x+1
print(json.JSONEncoder(data).encode(data))
Он читает только первую первую ячейку (есть еще 4 проекта после проекта 1), а затем печатает все как нуль:Python openpyxl - прочитать файл Excel и установить нуль для пустых ячеек
Project 1
null
null
он по-прежнему на несколько нулям заканчивается:
Traceback (most recent call last):
File "C:\Users\Maynor\Documents\Python\projects\DPprojectlister.py", line 15, in <module>
print(ws['A'+str(x)].value)
File "C:\Python34\lib\site-packages\openpyxl-2.2.2-py3.4.egg\openpyxl\worksheet\worksheet.py", line 400, in __getitem__
return self._get_cell(key)
File "C:\Python34\lib\site-packages\openpyxl-2.2.2-py3.4.egg\openpyxl\worksheet\iter_worksheet.py", line 168, in _get_cell
cell = tuple(self.get_squared_range(col, row, col, row))[0]
IndexError: tuple index out of range
это, предполагают, чтобы напечатать данные, закодированные в формате JSON после того, как он достигает конца колонны
Ну, вы начинаете на A4, то для каждой строки для каждой ячейки в строке, вы увеличиваете что 4. Итак, если лист 10x10, вы, в конце концов, попросите A104. Который не существует, потому что лист 10x10, а не 104xsomething. Как вы это делали? – abarnert
показать немного организации листа: A4 говорит Проект 1. Значения, которые вы хотите в той же строке, растягиваясь, и если да, то как далеко? – beroe
Я только хочу напечатать значения из столбца А, но в других столбцах есть значения. Мне только нужны значения из столбца A – MmmChips