Как удалить двойные и тройные кавычки из CSV-файла, присутствующего в корзине S3?

#python #python-3.x

Вопрос:

У меня есть папка, в которой присутствует 100 csv-файлов. В каждом csv-файле есть столбец, в котором все данные заключены в двойные кавычки, а для некоторых строк также имеются тройные кавычки.

 -------------  | column_name |  | "A" |  | "B" |  | "" |  | """ |  | "" |  | "A" | ----------------   

введите описание изображения здесь

Я хочу прояснить это как

 -------------  | column_name |  | A |  | B |  | |  | |  | |  | A | ----------------   

введите описание изображения здесь

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

1. Эти скриншоты, похоже, из Excel. Excel безвозвратно искажает CSV-файлы при их открытии, поэтому то, что вы видите в Excel, не является гарантией того, что на самом деле находится в файлах. Пожалуйста, добавьте вместо этого выдержки из файлов, скопированных из текстового редактора.

2. Вы не удаляете их: вы анализируете весь файл целиком. Один из способов разрешить CSV-файлу включать общее в поле-это заключать поле в двойные кавычки, чтобы запятые внутри кавычек обрабатывались буквально, а не как разделители полей. Распространенный способ избежать буквальных двойных кавычек, чтобы быть частью поля, состоит в том , чтобы удвоить их: строка типа a,"b"",""c",d содержит три поля со значениями a , b","c , и d .

3. И, как и в случае с любым форматом файла, вам необходимо знать соглашения, используемые для правильного анализа файла.

4. в текстовом редакторе он показывает «A»,»B»,»»,»»», и я хочу A, B, , ,

5. Кроме того, любой здравомыслящий анализатор CSV подумает, что это неправильный CSV, если предположить, что " это символ цитаты. Вот один лайнер, чтобы заменить его, если вы работаете в Linux: aws s3 cp s3://bucket/file.csv /tmp/tmp.csv amp;amp; sed 's/"//g' /tmp/tmp.csv gt; /tmp/noquote.csv amp;amp; aws s3 cp /tmp/noquote.csv s3://bucket/noquote.csv … но опять же … ваш файл выглядит очень разбитым.