Проблемы с чтением CSVs сохранены в sharefile (citrix) - PullRequest
0 голосов
/ 14 января 2020

Я написал следующий код для создания фреймов данных из файлов, сохраненных в sharefile. Он отлично работает для файлов Excel, но не работает для файлов CSV с ошибкой EmptyDataError: Нет столбцов для анализа из файла .

tblname = 'test'
fPth = r'Z:\Favorites\test10 (Group D - Custom EM&V)\8 PII\16 - Project Selection Plan\QC\Data\test.csv'
sht = 'Gross_Data'
shtStart = 0
fType = 'csv'
fitem = sfsession.get_io_version(fPth)

if fitem is None:
    print(f'Could not create sharefile item for {fPth}')
else: 
    try:
        if fType == 'csv':
            df = pd.read_csv(fitem.io_data, header = shtStart)
        elif fType == 'excel':
            df = pd.read_excel(fitem.io_data, sheet_name = sht, header = shtStart)
        else:
            pass
        print(f'Data import COMPLETE for {fPth}: {str(datetime.now())}')
    except:
        print(f'Data import FAILED for {fPth}')
        logging.critical(f'Data import FAILED for {fPth}')

Если заменить fitem.io_data на fPth в df = pd.read_csv , код работает, но я могу ' не использовать это как постоянное решение. Какие-либо предложения?

Также sfsession является сеансом общего файла, и get_io_version (fPth) получает токен и загружает все свойства файла, включая его данные. Спасибо.

1 Ответ

0 голосов
/ 14 января 2020

Адаптация этого решения работала для меня: StringIO и pandas read_csv

Я добавил fitem.io_data.seek (0) до df = ... line

Закрытие вопроса.

...