Pandas датафрейм, чтобы превзойти - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь преобразовать свои кадры данных в файлы Excel, но это не работает. Я пробовал другие решения от Stackoverflow, в которых использовались оригинальные библиотеки, но это только создавало новые листы и не давало ожидаемого результата, которого я хотел. Я попытался использовать аргумент startrow, но это также не дало мне ожидаемого результата. Теперь я попытался использовать режим записи addnd, но это также не работает.

Создает файл Excel, однако при повторном добавлении он действительно заменяет старый файл Excel. Кто-нибудь знает эффективный способ, когда, когда я вызываю функцию, она просто добавляет последние данные в файл Excel, начиная с минимально возможной пустой ячейки, чтобы продолжить запись, без изменений в именах столбцов.

Код ниже Предназначен для того, чтобы при первом вызове сохранить файл Excel данных для фактического создания данных, чтобы в следующий раз, когда он пройдет через него, он go остальное, которое должно добавить к фрейму данных файл Excel. self.filename равно «Output_Quack.xlsx» и не изменяется в течение всего сеанса. Эта функция вызывается всего 10 раз.

Спасибо за ваш вклад по этому вопросу заранее.

    if save:   
        if self.WriteOne:
            self.WriteOne = False
            OutputFrame.drop(0, inplace=True)
            outputwriter = pd.ExcelWriter(self.filename, mode="w", engine="openpyxl")
            OutputFrame.to_excel(outputwriter, 'Sheet1')

            outputwriter.save()
            OutputFrame.iloc[0:0] 

        else:
            outputwriter = pd.ExcelWriter(self.filename, mode="a", engine="openpyxl")
            OutputFrame.to_excel(outputwriter, 'Sheet1', header=False)

            outputwriter.save()
            OutputFrame.iloc[0:0] 

1 Ответ

0 голосов
/ 12 марта 2020

Если вы не ищете строго файл Excel, получите вывод в виде файла CSV и просто скопируйте файл CSV в новый файл Excel

df.to_csv('filepath', mode='a', index = False, header=None)

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