我需要将多字节表示的英文字符和数字(0-9)转换为单字节。除英文字符外,其他字符必须保持不变。我可以使用Python和Shell脚本来做到这一点。只需在python中实现相同的需求(不使用任何shell脚本)。
输入:1MORE,360FLLY,BCジャパン,デイテル・ジャパン
输出:1MORE,360FLY,BCジャパン,デイテル・ジャパン
python脚本针对遇到的每个字符调用shell脚本。
Python脚本:
import os
import subprocess
import shlex
ipfile=open('Brands.csv','r')
opfile=open('japan_tv_weekly_converted.csv','w',encoding='utf-8')
for line in ipfile:
for character in line:
utf8Character=character
if utf8Character == '"':
os.system('sh iconv_command.sh \\'+utf8Character+' \\'+character)
else:
os.system('sh iconv_command.sh "'+utf8Character+'" "'+character+'"')
os.system('printf "\n">>japan_tv_weekly_converted.csv')
opfile.close()
ipfile.close()
Shell脚本:
#!/bin/bash
x=`echo -n $1|iconv -f utf-8 -t ascii//translit`
if [ "$x" != "?" ]; then
echo -n $1|iconv -f utf-8 -t ascii//translit>>japan_tv_weekly_converted.csv
else
echo -n $2>>japan_tv_weekly_converted.csv
fi
请帮助!