DataFrame.to_csv() ведет себя по-разному при передаче параметра сжатия

#python #pandas

#python #pandas

Вопрос:

Если я использую:

 df.to_csv('dir1/dir2/test.csv.zip')
  

или

 df.to_csv('dir1/dir2/test.csv', compression='zip')
  

чтобы сохранить файл csv, я обнаружил, что

  1. имя пути, независимо от того, является ли оно конечным или абсолютным, будет включено в zip-архив
  2. имя расширения фактического файла в zip-архиве будет сохранено таким же, как и переданное вами, что означает, что если вы передадите ‘zip’, вы получите ‘zip’ в архиве.

Ничто из вышеперечисленного не соответствует действительности, если имя расширения является одним из [‘.gz’, ‘.bz2’ или ‘.xz’] или режим сжатия является одним из [‘gzip’, ‘bz2’], является ли это желательным поведением, а не сохранять их одинаковыми?

Кроме того, если вы установите режим сжатия с одним из [‘gzip’, ‘bz2’] и передадите имя файла с расширением ‘csv’, вы получите конец сжатого архива с ‘.csv’, что сбивает с толку, потому что вы получите весь шестнадцатеричный код, если откроете его в текстовом редакторе.

Комментарии:

1. Предполагая, что это поведение воспроизводимо, похоже, вам следует опубликовать это на вкладке pandas issues на их github.

2. спасибо за ваш комментарий, который я уже опубликовал в выпусках pandas