Я заметил, что тип файла из файла Excel, сгенерированного pandas.DataFrame.to_excel
, равен Zip archive data, at least v2.0 to extract
. Обратите внимание, что с типом содержимого все в порядке: content_type, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.
В моем проекте Django я по существу проверяю тип файла перед обработкой загруженного файла, и хотя файл, созданный с помощью pandas.DataFrame.to_excel
, является действительный файл Excel, модуль проверки отклоняет загруженный файл из-за типа файла Zip archive data, at least v2.0 to extract
вместо Microsoft Excel 2007+
.
Пожалуйста, дайте мне знать, как я могу обойти эту проверку.
Код, который я использовал для репликации (т. Е. Для создания файла Excel с типом файла Zip archive data, at least v2.0 to extract
), эта проблема здесь.
import pandas as pd
import os
import magic
uploaded_file_path = r'somepath'
path, filename = os.path.split(uploaded_file_path)
filename_without_extension = os.path.splitext(filename)
new_file_name = os.path.join(path, filename_without_extension[0]) + '_TESTING_BLAH_' + str(1) + '.xlsx'
df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
index=['row 1', 'row 2'],
columns=['col 1', 'col 2'])
df1.to_excel(new_file_name)
file_type = magic.from_file(new_file_name)
print(file_type)