Gmail APIからのメッセージを含む変更されるテキストファイルがあります。内容を分析する必要があります。私のテキストファイルには、メッセージID、メッセージ、送信者の詳細、日付が含まれています。
15335b114b093448 (メッセージ ID)::名前: SINDHUJA, 必要なサービス:配管工、都市:バンガロール、EメールID:[Eメール保護]、モバイル:9987654434 :: 2016年3月2日水曜日04:58:29 +0000 :: Flipkart(パートナー)[Eメール保護]:::
15335254a7e5677a::名前:ヘレン、 必要なサービス:電気技師、都市:Chennai、EメールID:[Eメール保護],モバイル: 934554434::::2016年3月2日水曜日 07:36:37 +0530 (IST)::Times of India[Eメール保護]::::
どうやって分析できますか?私はコードを試しました:
>>>rawProfiles='''
15335b114b093448::NAME : SINDHUJA,
SERVICE REQUIRED: PLUMBER ,CITY :BANGALORE, EMAIL ID : [email protected] ,MOBILE : 9987654434:: Wed, 02 Mar 2016 04:58:29 +0000::Flipkart <[email protected]>:::
15335254a7e5677a::NAME : HALEN,
SERVICE REQUIRED: ELECTRICIAN ,CITY :CHENNAI, EMAIL ID : [email protected] ,MOBILE : 934554434:: ::Wed, 2 Mar 2016 07:36:37 +0530 (IST)::The Times of India <[email protected]>::::
'''
>>>profilesList=re.split(r'\n{1,}',rawProfiles)
>>>profilesList =[re.sub(r'\n',' ',profile) for profile in profilesList]
>>>profilesList =[re.split(r',',profile,maxsplit=2) for profile in profilesList]
>>>for profile in profilesList:
print profile
>>>profilesList =[map(str.strip,profile) for profile in profilesList]
>>>for profile in profilesList:
print profile
これは私に以下を与えます:nameError re not defined
。
編集する
コードはPythonです。
私の出力例は次のようになります。
パートナー ネームサービス 都市モバイルメールボックス
Flipkart SINDHUJA 配管工 バンガロール 9987654434 [Eメール保護]
Times HALEN電気技術者Chennai 9345544342 [Eメール保護]
答え1
2行目のパートナー列にはいくつかの問題がありますが、このawkを使用すると開始できます。
BEGIN {
FS="::";
OFS="\t";
print "PARTNER\tNAME\tSERVICE\tCITY\tMOBILE\tEMAIL"
}
{
split($2,A,"[:,]");
if ($3 == " ")
{
split($5,B,"[:,]");
}
else
{
split($4,B,"[:,]");
}
split(B[1],C,"mail");
name=A[2];
service=A[4];
city=A[6];
mobile=A[10];
email=A[8];
partner=C[1];
sub("[(]partner[)]", "",partner);
print partner"\t"name"\t"service"\t"city"\t"mobile"\t"email;
}
出て:
PARTNER NAME SERVICE CITY MOBILE EMAIL
Flipkart SINDHUJA PLUMBER BANGALORE 9987654434 [email protected]
The Times of India HALEN ELECTRICIAN CHENNAI 934554434 [email protected]
(bash、zsh..)シェルで実行し、everything.awkとして保存する必要があります。
awk -f whatever.awk file