python датафрейм автоматически генерирует лист Excel - PullRequest
1 голос
/ 05 февраля 2020

У меня есть массивный набор данных, который полностью повторяется, и я думал, что лучший способ автоматизировать задачу был с python. Это для инженерного проекта, в котором используются двигатели только 2-х типов: «Последователь» или «Ведущий».

Для «Подписчика» он будет иметь такую ​​же структуру (где IFDXXXX будет отдельным номером привода):

enter image description here

Для Лидера он будет иметь такую ​​структуру (где IFDXXXX будет индивидуальным номером привода):

enter image description here

Моя идея заключается в том, что я собираюсь импортировать лист Excel в следующем формате и сохранить его как фрейм данных с pandas для последующей манипуляции для автоматической генерации:

enter image description here

Какой самый простой способ сделать это, или есть другой более простой метод? Я хотел бы придерживаться python, если это возможно, так как я пытаюсь расширить свои знания с этим языком.

РЕДАКТИРОВАТЬ:

Конечная конечная цель состоит в том, чтобы получить лист, который выглядит что-то как это:

enter image description here

Update1:

enter image description here

Ответы [ 2 ]

2 голосов
/ 05 февраля 2020

предположим, что у вас есть таблица, которую вы хотели сохранить с заголовками drive_id и роль , и они сохраняются в фрейме данных df1 для перебора ваших строк и создания новой таблицы, я предпочитаю делать это с помощью списка диктов

out_table = []
for index, row in df1.iterrows()
    drive_id = row["drive id"]
    if row["role"]=="follower":
        out_row ={}
        out_row["drive_id"]= drive_id
        out_row["task name"] = "rotate rev"
        out_row["description"] = "check rotate hmi"
        out_row["comment"] = "NA"
        out_table.append(out_row)
#this is the end of the first row, so on you add all the rows for this role
        out_row ={}
        out_row["drive_id"] =  driver_id
        out_row["task name"] = "rotate fwd"
        out_row["description"] = "check hdmi for footlock"
        out_row["comment"] = ""
        out_table.append(out_row)
    if row["role"] == "FOLLOWER"
# here you add all the rows for this role


df2 = pd.DataFrame(out_table)  # this makes a dataframe where the dict keys are the table headers
df2.to_excel(r"D:\drive_table.xlsx")
1 голос
/ 05 февраля 2020
import pandas as pd

df1=pd.read_excel('insert file path here',sheet_name = 0)

это позволяет pandas сохранять лист Excel в качестве кадра данных.

, если вы хотите создать sh кадр данных, который создается после кода, который вы можете использовать

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