我正在使用 pandas 从 S3 读取 CSV,但某些单独的数据字段中有错误的换行符,如下所示:
|id |address1 |city |state|zipcode|
-----------------------------------------------
|12345|123 Street Rd |town |ST |12345 |
| |*line break* | | | |
|23456|345 Road St |village |ST |34677 |
因此,当我读取数据框时,它看起来像这样:
|id |address1 |city |state|zipcode|
-----------------------------------------------
|12345|123 Street Rd | | | |
| |town |ST |12345| |
|23456|345 Road St |village |ST |34677 |
这可能是什么原因造成的?这是我的代码:
import pandas as pd
import boto3
S3Client = boto3.client('s3','us-east-1')
obj = S3Client.get_object(Bucket = bucket, Key = key)
df = pd.read_csv(io.BytesIO(obj['Body'].read()))
我试图用以下方法删除换行符:
df = df.replace(r'\\n',' ', regex=True)
无济于事。我应该如何解决这个问题?
编辑:
这是数据在文本编辑器中的样子:
id,address1,city,state,zipcode
12345,"123 Street Rd","town",ST,12345
23456,345 Road St,village,ST,34677
将我的代码更新为:
df = pd.read_csv(io.BytesIO(obj['Body'].read()), sep=',', quotechar='"')
没有解决问题
这是它在 excel 中的样子:
在文本编辑器中:

