Сохранение информационного кадра pandas в csv внутри zip-файла - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь сохранить фрейм данных из панд в файл CSV внутри zip-архива.Я посмотрел в документации для панд, и кажется, что есть поддержка сжатия zip, но она не работает, как ожидалось.Приведенный ниже код сохраняет zip-файл

df_test.to_csv(path_filtered_zips + '{}.zip'.format(name_of_the_file), compression='zip', index=False)

Внутри zip-файла находится путь от моего раздела к тому месту, где находится сам zip-файл.См. Ниже прикрепленное изображение:

enter image description here

Мне удалось сохранить его несколько правильно, если я изменил тип файла на «.gz» и сжатие на gzip.Это создает архив gz и внутри документа без форматирования, которое можно открыть, и это именно тот фрейм данных, который я ожидал.Вы можете увидеть здесь:

enter image description here Проблема заключается в том, что мне нужен архив с типом сжатия / архивирования, а файл внутри должен быть в формате CSV, как я собираюсь использоватьдля других целей.

Код, который я использую для получения этих результатов, следующий:

for zip_file in list_of_zip_file:
    counter += 1
    full_name = zip_file.split(".")
    name_of_the_file = full_name[0]
    archive = zipfile.ZipFile(path_zip_files + '/' + zip_file, "r")
    column_names = ['ip', 'date', 'cik', 'accession']
    df_test = pd.read_csv(archive.open(str(name_of_the_file) + ".csv"), low_memory=False, usecols=column_names)
    df_test = pd.merge(df_test, df_form, how='inner', on=['accession'])

    # The next line is where I changed the ".gz" and the compression to "zip" and get the mentioned errors. 
    df_test.to_csv(path_filtered_zips + '{}.gz'.format(name_of_the_file), compression='gzip', index=False)
    print(df_test)
    if counter == 1:
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...