Как заставить панд скопировать файл xlsx, включая его листы, в новый файл xlsx - PullRequest
1 голос
/ 04 июня 2019

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

Я пытался скопировать егои когда это не удалось, я посмотрел, как это сделать, однако проблема в том, что я не буду знать, какие имена листов используются до того, как их использовать, и сколько их там.

import pandas as pd
import numpy as np
from shutil import copyfile


copyfile(loc, tLoc)

wdf = pd.read_excel(tLoc , index_col=[0])
sheet_wdf_map = pd.read_excel(tLoc, sheet_name=None)

print(wdf.head())

wdf['Adequate'] = np.nan
wdf['Explanation'] = np.nan


wdf.to_excel(tLoc)

Я бы ожидал этогоскопировать весь файл дословно, включая все листы, но это не так.Если существует решение, заключающееся в том, чтобы не копировать его в пустой существующий ранее файл вместо нового файла, который также будет работать.Спасибо!

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Извлечение Использование Pandas для pd.read_excel () для нескольких листов одной и той же книги

Вы можете попробовать pd.Excelfile и указать листы, которые вы хотите превратить в кадры данных из исходного файла.

xls = pd.ExcelFile('path_to_file.xls')
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')
0 голосов
/ 05 июня 2019

Проблема была в том, что

wdf.to_excel(tLoc)

Он не сохранит имена листов, но сохранит все остальное, однако выполнение последней команды по какой-то причине заставило его сохранить только первый лист. Если кто-нибудь знает, как сохранить его без использования этой команды, пожалуйста, дайте мне знать.

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