#python #pandas
Вопрос:
Исходные данные содержат байт(список), количество(int) Образец выглядит так
Byte Count Averager
0 [66, 66, 66] 3 66
1 [103, 103, 76] 3 94
После использования функции to_csv () значение байтового поля изменилось на строковый тип
"[66, 66, 66]",3,66,"[103, 103, 76]",3,94
После того, как я изменю тип байта с помощью df.Byte = df.Byte.apply(ast.literal_eval)
и df.to_csv('Total.csv',index=False, quoting=csv.QUOTE_NONE)
Однако возникла ошибка:
_csv.Error: need to escape, but no escapechar set
После исследования я добавил df.to_csv('Total.csv',index=False, quoting=csv.QUOTE_NONE, escape='\')
, и результат выглядит так
[66, 66, 66],3,66,[103, 103, 76],3,94
Как я могу удалить эти кавычки без добавления других escape-символов?
Ожидаемый результат таков:
[66, 66, 66],3,66,[103, 103, 76],3,94
Комментарии:
1. Привет, df.to_csv(‘Total.csv’,индекс=False, цитирование=csv. QUOTE_NONE, escapechar=’ ‘) добавьте escape-символ [(‘ ‘ ), который является дополнительной областью действия], а затем попробуйте.
2. Сначала к нам по пути
import csv
Нк03.3. Не используйте
quoting=csv.QUOTE_NONE
… почему вы отказываетесь от этого варианта?4. @KenChoi, конечно . Вы не установили escape-символ при загрузке csv-файла:
pd.read_csv('Total.csv', escapechar=' ')
5. @KenChoi это всегда будет строка, когда вы читаете ее из csv . Это то, что я пытался вам сказать, и почему я спрашивал вас, чего вы на самом деле пытаетесь достичь.