Python 控件—在两个S3存储桶之间进行管道传输时的分隔符编码

Python 控件—在两个S3存储桶之间进行管道传输时的分隔符编码,python,bash,amazon-web-services,amazon-s3,amazon-ec2,Python,Bash,Amazon Web Services,Amazon S3,Amazon Ec2,我目前正在处理从S3原始(txt,管道作为分隔符,多余的空格)到S3处理(删除空格,管道替换为插入符号分隔符)的管道数据。这是我的Python脚本,工作正常,但我正在尝试将其转换为bash byte_stream=BytesIO(response["Body"].read()) input_df = pd.read_csv(byte_stream, delimiter="|", index_col=False, header=None, encoding='latin-1', low_memo

我目前正在处理从S3原始(txt,管道作为分隔符,多余的空格)到S3处理(删除空格,管道替换为插入符号分隔符)的管道数据。这是我的Python脚本,工作正常,但我正在尝试将其转换为bash

byte_stream=BytesIO(response["Body"].read())

input_df = pd.read_csv(byte_stream, delimiter="|", index_col=False, header=None, encoding='latin-1', low_memory=False)

input_df.to_csv(csv_buffer, sep=chr(1), header=False, index=False, encoding='utf-8')
python脚本在常规文本编辑器中的输出如下:

Tomdahbom1999
SusanSoxMiller2001

在vim中打开时(^A以紫色突出显示):

汤姆^阿达哈^炸弹^ 1999年
苏珊^阿索克斯^阿米勒^ A2001

我的bash脚本:

aws s3 cp s3://dev-raw/... - | iconv -t UTF-8 | sed -e 's/ *| */|/g; s/|/^A/g' | aws s3 cp - s3://dev/... --sse
但在常规文本编辑器中输出为:

汤姆^阿达哈^炸弹^ 1999年
苏珊^阿索克斯^阿米勒^ A2001

在vim中,^A不是突出显示的,只是看起来像普通文本

我试图更改流的编码,但我似乎无法解决这一问题。我仅限于在流中工作,因此无法保存到磁盘。我不确定是编码还是分隔符更改不正确?如果有人能对此提供一些见解,我将不胜感激

aws s3 cp s3://dev-raw/...bloop.txt - | sed -e 's/ *| */|/g; s/|/\x01/g' | aws s3 cp - s3://dev/...bloop.txt --sse

^A
不正确,改用了
\x01
,现在一切都正常了。

我们可以看看通过bash脚本处理的输入文本的一些示例吗?这将有助于理解
sed
转换。