#python #pandas #pdfkit
Вопрос:
В качестве краткого изложения этого кода этот скрипт преобразует файл .xlsx в файл .pdf. После этого я намерен удалить файл excel, чтобы убедиться, что файл excel, который я использую, доступен для подделки (мне еще предстоит сделать файл .pdf доступным только для чтения).
import pandas as pd
import pdfkit
from datetime import datetime, date, time
import time
import os
os = 'Windows 10'
file_name = 'report_prototype_excel1.xlsx'
company_name = 'ABC Company'
audit_frequency = 'ANNUAL'
file_time = time.strftime("%d%m%Y-%H%M%S")
if os == 'Windows 10':
config = pdfkit.configuration(wkhtmltopdf='C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe')
elif os == "Windows Server 2019":
print("Placeholder Windows Server 2019")
elif os == "MacOS":
print("Placeholder MacOS")
else:
print("Placeholder Ubuntu/Debian")
df = pd.read_excel(file_name)
df = df.fillna(" ")
df.to_html("report_prototype_html1.html")
options = {
'page-size': 'A4',
'margin-top': '0.75in',
'margin-right': '0.75in',
'margin-bottom': '0.75in',
'margin-left': '0.75in',
}
pdfkit.from_file("report_prototype_html1.html", company_name '_' audit_frequency '_audit_report_pdf_' file_time '.pdf', configuration=config, options=options)
os.remove (file_name)
Однако, поскольку я буду присваивать файлы фиксированной переменной, команда «os.remove» не работает, что приводит к следующей ошибке:
Traceback (most recent call last):
File "c:Users********Documents****************report_prototype_python_MAIN.py", line 33, in <module>
os.remove (file_name)
AttributeError: 'str' object has no attribute 'remove'
Есть ли решение моего затруднительного положения?
Ответ №1:
Вы импортировали os
модуль, а также назначили переменную os = 'Windows 10'
. Потому os
что теперь это строка, в ней нет remove
метода, который вы ищете.
Пожалуйста, переименуйте os
переменную во что-нибудь другое.
Ответ №2:
os = 'Windows 10'
этим предложением вы переопределяете модуль os
. просто переименуйте свою переменную.