Моя задача - прочитать файл CSV из одного места, выполнить некоторые манипуляции с памятью в кадре данных, а затем поместить файл в другое место.
Исходный файл '||' разделены, и целевой файл должен быть разделен.
Я делаю это для нескольких файлов с разными столбцами.
В одном из исходных CSV один из столбцов содержит новую строку char внутри столбца.
пример исходного CSV-файла:
id||notes<CR><LF>
1||notesLine1<CR><LF>
2||notesLine1<CR><LF>
notesLine2<CR><LF>
3||notesLine1: notesLine2<CR><LF>
обратите внимание, что разделитель строк также и символы новой строки в столбце «примечание» также. Я не могу изменить источник, однако я могу иметь средний слой в памяти или на диске, если требуется какая-либо модификация.
код:
...
df_target = pd.read_csv(source_file, dtype = None, parse_dates= True, keep_default_na= False,header=None,sep="\|\|",engine='python', encoding='utf-8'))
df_target.to_csv(target_file,header=header_list,index=False,quoting=csv.QUOTE_ALL)
...
текущий выход:
"id","notes"<CR><LF>
"1","notesLine1"<CR><LF>
"2","notesLine1"<CR><LF>
"notesLine2",""<CR><LF> -- extra unwanted row being created
"3","notesLine1: notesLine2"<CR><LF>
обратите внимание, что строка разделена на две части, что означает, что всего строк будет 4 строки. Я не хочу, чтобы это произошло!
ожидаемый результат:
"id","notes"<CR><LF>
"1","notesLine1"<CR><LF>
"2","notesLine1 \n notesLine2",""<CR><LF>
"3","notesLine1: notesLine2"<CR><LF>
примечание: вместо разделения на две строки я могу иметь «\ n» и данные в одной строке. чтобы всего строк было 3, а не 4.
Есть ли способ справиться с этим?