Python 在AWS lambda函数中使用从S3存储桶读取csv时出错-第5行saw 2中应为1个字段

Python 在AWS lambda函数中使用从S3存储桶读取csv时出错-第5行saw 2中应为1个字段,python,pandas,amazon-s3,aws-lambda,boto3,Python,Pandas,Amazon S3,Aws Lambda,Boto3,在AWS lambda函数中使用Pandas readcsv从S3 bucket读取csv文件,并不断看到与csv内容相关的标记化错误 前5行如下(从文本编辑器粘贴) 当我使用命令时: rawdata = pd.read_csv(io.BytesIO(obj['Body'].read()),sep=',') 我看到以下错误: 标记数据时出错。C错误:第5行中应为1个字段,saw 2 在浏览了csv文件之后,我并不清楚第5行为什么会出现问题 在任何其他环境(Jupyter笔记本、Pycharm等

在AWS lambda函数中使用Pandas readcsv从S3 bucket读取csv文件,并不断看到与csv内容相关的标记化错误

前5行如下(从文本编辑器粘贴)

当我使用命令时:

rawdata = pd.read_csv(io.BytesIO(obj['Body'].read()),sep=',')
我看到以下错误:

标记数据时出错。C错误:第5行中应为1个字段,saw 2

在浏览了csv文件之后,我并不清楚第5行为什么会出现问题

在任何其他环境(Jupyter笔记本、Pycharm等)中打开文件都不会产生任何问题。这个问题似乎与AWS/Lambda函数对这个特定文件的解释有关

我还尝试附加header=False和header=0以强制识别7个头,但这似乎并不能缓解问题

我还尝试按照前面的建议将解析引擎指定为
engine='python'
,但这引入了一个不同的错误,如下所示

pandas.errors.ParserError:','应在''之后'

研究使我明白,我可以使用skiprows=x跳过/忽略错误行,但我不想求助于此,因为我想了解并纠正这个问题

我还能做些什么来确定和隔离问题吗


谢谢

多次收到此错误,通过使用像这样的lineterminator解决了它。默认值是\r\n。我认为AWS更改了存储值的方式

rawdata = pd.read_csv(io.BytesIO(obj['Body'].read()),sep=',', lineterminator='\n')

谢谢你的建议。不幸的是,这并没有解决我的问题,但我会把这个问题留给别人,以防它对其他人有帮助。你的数据可能会受到影响
rawdata = pd.read_csv(io.BytesIO(obj['Body'].read()),sep=',', lineterminator='\n')