pandas to_excel не работает с pyinstaller

#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, не переносят его в пакетную папку