我正在使用以下代码从AWS Lambda中的AWS S3导入一个csv文件:

file = s3.get_object(Bucket = bucket, Key = key)
rows = file['Body'].read().decode('utf-8').splitlines(False)


我收到以下格式的输入:

数据=“ a,b,c,d,\” x,y \“,e,f”

我想以以下格式输出:

>>>`>>> df
   0  1  2  3    4  5  6
0  a  b  c  d  x,y  e  f`


我必须根据'分割数据,但是如果在“”之间有一些皮带,它们应该保持原样。

或者,如果您有将sv文件从s3导入到lambda并在数据帧中进行转换的其他解决方案,请提出建议

最佳答案

使用csv模块

尝试这个,

from csv import reader
import pandas as pd
data=["a,b,c,d,\"x,y\",e,f"]
df=pd.DataFrame( list(reader(data)))
print df


输出:

   0  1  2  3    4  5  6
0  a  b  c  d  x,y  e  f

10-01 19:12
查看更多