#python #python-3.x #pandas #pyinstaller #pandas.excelwriter
#python #python-3.x #pandas #pyinstaller #pandas.excelwriter
Вопрос:
Я создаю exe-файл из скрипта python, используя pyinstaller
все, что в коде работает нормально, за исключением to_excel()
. Я перечислил импорт и что именно не работает, когда я делаю его exe. Скрипт запускается сам по себе и создает файл Excel проблема в том, что файл не создается, если я сделаю его exe
import pandas as pd
import numpy as np
import camelot
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import requests
import urllib.request
import csv
from bs4 import BeautifulSoup
import os
import shutil
import glob
import math
import datetime
from datetime import datetime,timedelta
pg_main_data.to_excel('final_analysis.xlsx')
grouped_summary.to_excel('analysis_summary.xlsx')
Комментарии:
1. Какие ошибки вы получаете?
2. Я не получаю никаких ошибок, exe закрывается, но файл не записывается
3. Хорошо ли работает код, когда вы запускаете его в консоли (не в комплекте
pyinstaller
)?4. Это может быть неуместно, но, пожалуйста, проверьте свой рабочий каталог, потому что вы должны были увидеть ошибки, если что-то пошло не так.
5. да, скрипт отлично работает в консоли, так как для exe просто to_excel() не работает
Ответ №1:
Как указано в pandas
документации, для того, чтобы методы to_excel
и read_excel
работали, вам необходимо установить один или несколько из следующих пакетов вместе pandas
:
XLsxWriter 0.9.8 Excel writing
openpyxl 2.5.7 Reading / writing for xlsx files
pyxlsb 1.0.6 Reading for xlsb files
xlrd 1.1.0 Excel reading
xlwt 1.2.0 Excel writing
В зависимости от ваших настроек вы, возможно, не установили их или вы, возможно, не включили их в pyinstaller
список пакетов.
Комментарии:
1. Я использую среду anaconda, в которой установлен xlsxwriter, если я добавлю
import xlsxwriter
скрипт, он будет работать?2. Вы всегда можете попробовать 😉
Ответ №2:
для чтения и записи из Excel вам необходимо установить xlwt
(для записи в xls
формате), openpyxl
(для записи в xlsx
формате) xlrd
(в read
Excel)
установите все эти зависимости с помощью:
pip install xlwt openpyxl xlrd
Комментарии:
1. скрипт работает хорошо проблема возникает, когда я превращаю его в exe, решит ли это проблему?
Ответ №3:
Я использую функцию pandas read_excel для чтения файла Excel.
Вы можете попробовать это:
import pandas as pd
data = pd.read_excel('Yourdata.xlsx', sheet_name='Sheetname')
data.head()
Ответ №4:
Как я правильно догадался, эта проблема не решена. У меня такая же проблема. Обновления файлов (xlsm), но в папке Temp / MEIPASS, не переносят его в пакетную папку