Я пытаюсь сохранить фрейм данных из панд в файл 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](https://i.stack.imgur.com/7bbHd.png)
Мне удалось сохранить его несколько правильно, если я изменил тип файла на «.gz» и сжатие на gzip.Это создает архив gz и внутри документа без форматирования, которое можно открыть, и это именно тот фрейм данных, который я ожидал.Вы можете увидеть здесь:
Проблема заключается в том, что мне нужен архив с типом сжатия / архивирования, а файл внутри должен быть в формате 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