从字符串转换为熊猫数据框

pra*_*mar 3 python amazon-s3 dataframe pandas aws-lambda

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

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

我得到以下格式的输入:

数据 = "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`
Run Code Online (Sandbox Code Playgroud)

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

或者,如果您有任何其他解决方案将 csv 文件从 s3 导入 lambda 并在 Data Frame 中进行转换,请提出建议

Moh*_* ah 5

使用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
Run Code Online (Sandbox Code Playgroud)

输出:

   0  1  2  3    4  5  6
0  a  b  c  d  x,y  e  f
Run Code Online (Sandbox Code Playgroud)