将Dataframe内容以csv格式写入s3 bucket会引起写入问题,因为列值中有','

x7yiwoj4  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(248)

我有一个名为“report\u final\u tnps”的pandas数据框架(使用python 3.x),其内容如下:

我需要把这些数据写在一个aws s3的位置在csv格式。所以我做了以下工作:

report_final_tnps_out_path='bsrivastava/data/report_final_tnps.csv'
bucket = 'saasdata-dev' 
from io import StringIO 
import boto3
csv_buffer = StringIO()
report_final_tnps.to_csv(csv_buffer)
s3_resource = boto3.resource('s3')
s3_resource.Object(bucket,report_final_tnps_out_path).put(Body=csv_buffer.getvalue())

代码运行良好,我在上面代码中提到的s3位置有数据。
然后我在上面创建了一个配置单元表,如下所示:

CREATE EXTERNAL TABLE users.tnps_report_data_test
   (
    connection STRING,
    build STRING,
    feedback STRING,
    tnps STRING
   )
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION  "s3://saasdata-dev/bsrivastava/data"
tblproperties ("skip.header.line.count"="1");

但当我通过下面的配置单元查询看到数据时,由于反馈列(第一行)中存在逗号(即“,”):“很好的工具值会转到反馈列,其余的文本值会转到tnps列,即添加计算机有点贵……”。

Select * From users.tnps_report_data_test

有人能告诉我如何纠正这个问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题