Python Pandas Excel выводится не в установленной форме - PullRequest
0 голосов
/ 10 октября 2018

У меня есть файл Excel на 100 листов.Мне нужно извлечь данные из каждого столбца P столбца, начиная со строки 7, и создать новый файл со всеми извлеченными данными в одном столбце.В моем выходном файле данные расположены в другом столбце, т. Е. (Данные листа 2 в столбце R, лист 3 в столбце B)

Как я могу сделать данные в том же столбце в новом выходном Excel?Спасибо.

пс.Мне достаточно объединить данные столбца P всех листов в один столбец на одном листе

import pandas as pd
import os 
Flat_Price = "Flat Pricing.xlsx"
dfs = pd.read_excel(Flat_Price, sheet_name=None, usecols = "P", skiprows=6, indexcol=1, sort=False)
df = pd.concat(dfs)
print(df)
writer = pd.ExcelWriter("Output.xlsx")
df.to_excel(writer, "Sheet1")
writer.save()
print (os.path.abspath("Output.xlsx"))

1 Ответ

0 голосов
/ 10 октября 2018

Вам нужен параметр header=None для имени столбца по умолчанию 0:

dfs = pd.read_excel(Flat_Price, 
                    sheet_name=None, 
                    usecols = "P", 
                    skiprows=6, 
                    indexcol=1, 
                    header=None)

Затем возможно извлечь число из первого уровня MultiIndex, преобразовать в целое число и отсортировать по sort_index:

df =df.set_index([df.index.get_level_values(0).str.extract('(\d+)',expand=False).astype(int), 
                  df.index.get_level_values(1)]).sort_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...