首页 > 解决方案 > 如何在 csv 导入时使用 python pandas 删除控制字符?

问题描述

我正在尝试将 csv 文件导入 pandas 进行操作。我相信该文件被编码为 utf-8-sig。出于某种输入原因,pandas 正在执行其中一个字符串中的 ^M 字符,从而在输出时将其分成多行。有没有办法告诉熊猫在导入时忽略行中的任何控制字符?

这是导致问题的行的示例(使用 ^M 字符):

1833367012,Some text here^M^M(some more text)^M^Mand some more text,198578879962592121,A NAME,someone@something.com,United States,2021-07-01,2021-07-01T11:57:58,2021-07-01T14:33:55,156,WINDOWS,IE,10.15.72.8,55.23.12.15,1.296,NA,NA,NA,NA,N,N,N,NA,Meeting Client,7.6.2.10,"Chicago, USA",ethernet,Computer,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,6.93,20

变成

1863967051,Some text here,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
(some more text),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
and some more text,198578879962592121,A NAME,someone@something.com,United States,2021-07-01,2021-07-01T11:57:58,2021-07-01T14:33:55,156,WINDOWS,IE,10.15.72.8,55.23.12.15,1.296,NA,NA,NA,NA,N,N,N,NA,Meeting Client,65.6.2.10,"Chicago, USA",ethernet,Computer,,,,,,,,,,,,,,,,,,,,,,,,,7,20,

我正在使用的导入是:

df = pd.read_csv(path_filename, quotechar='"', thousands=',', skipinitialspace=True, encoding='utf_8_sig')

标签: pythonpandasdataframecsvdata-cleaning

解决方案


推荐阅读