1
我使用熊貓生成一個csv字符串: df.to_csv(sep=',', encoding='utf-8', index=False, header=False)
。從Csv字符串中移除回車返回
我將在postgres中加載csv,如下所示。
COPY table_name FROM STDIN (FORMAT CSV,
DELIMITER ',',
HEADER FALSE,
NULL '',
ENCODING 'utf-8');
偶爾當有馬車存在於CSV,我刪除使用csv_str.replace('\r', '')
回報,這將失敗。但是我不確定這種方法是否可能會改變csv中的某些現有數據。
是否有更可靠的方法來刪除任何回車?我很擔心丟失有關回車的信息,但我想盡可能地保留存儲在csv文件中的任何其他數據。
我已經嘗試了所有三種方法,並且只使用'line_terminator'似乎工作的一個,其餘導致所有空是引用和空字符串無法區分。不過,如果可能的話,我寧願使用引用方法。有沒有解決方法? – user113531
您可以嘗試將NULL表示更改爲另一個字符串,例如在'COPY'命令中使用'na_rep ='\ N'',然後'NULL'\ N'',但不幸的是,熊貓引用了'\ N',然後'COPY'不能識別該值爲NULL。所以我認爲答案是否定的,你將不得不設置'line_terminator'。 – mhawke