2

我正在使用 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 中的样子:

在此处输入图像描述

在文本编辑器中:

在此处输入图像描述

4

0 回答 0