Python: Как читать несколько электронных таблиц в новый формат в CSV? - PullRequest
0 голосов
/ 03 января 2019

Я (новичок) пытаюсь прочитать из документа Excel несколько таблиц и прочитать в новом формате в одном CSV. В csv мне нужны следующие поля: год (из глобальной переменной), месяц (из глобальной переменной), розетка (имя таблицы); rowvalue [a] (строка для объяснения строки), columnvalue [1] (строка для объяснения причины), cellvalue (float)

В них должны быть введены соответствующие значения.

Из соответствующих таблиц нужно прочитать только RowNum 6 - 89

#BWA-Reader
#read the excel spreadsheet with all sheets
#Python 3.6

Importe
import openpyxl
import xlrd
from PIL import Image as PILImage
import csv

# year value of the Business analysis
year = "2018"

# month value of the Business analysis
month = "11"

# .xlxs path
wb = openpyxl.load_workbook("BWA Zusammenfassung 18-11.xlsx")
print("Found your Spreadsheet")
# List of sheets
sheets = wb.get_sheet_names()

# remove unneccessary sheets
list_to_remove = ("P",'APn','AP')
sheets_clean = list(set(sheets).difference(set(list_to_remove)))
print("sheets to load: " + str(sheets_clean))

# for loop for every sheet based on sheets_clean
for sheet in sheets_clean:

# for loop to build list for row and cell value
    all_rows = []
    for row in wb[sheet].rows:
        current_row = []
        for cell in row:
            current_row.append (cell.value)
        all_rows.append(current_row)
        print(all_rows)
# i´m stucked -.-´

Я ожидаю вывод наподобие:

2018;11;Oldenburg;total_sales;monthly;145840.00

все листы в одном csv

Большое спасибо за каждую идею, как решить мой проект!

1 Ответ

0 голосов
/ 04 января 2019

Полный ответ на этот вопрос очень зависит от фактического набора данных.

Я бы порекомендовал изучить функцию панд read_excel(). Это значительно упростит извлечение необходимых строк / столбцов / ячеек, без циклического прохождения всех листов.

Вам могут понадобиться несколько уроков по пандам, чтобы попасть туда, но, судя по тому, что вы пытаетесь сделать, панды могут пригодиться в будущем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...