2016-10-22 7 views
1

私はPKLデータベースからCSVに移動したTwilioを使用するPythonプログラムを持っています。私は、アクセス時間はほぼ同じであったが、それを編集しやすくすることを望んでいた。ExcelでCSVの先頭に "+"を付ける

問題点Twilioは、電話番号(データベースに保存されている)の先頭に "+"が好きですが、Excelで編集すると、これらの先頭のプラス記号がすべて削除されます。

Twilio用のPythonで電話番号のストレージを処理する最善の方法は何ですか?

def save_pkl(pkl, name): 
    with open(os.path.join(__location__,name + '.pkl'), 'wb') as f: 
     pickle.dump(pkl, f, 0) #replace 0 with pickle.HIGHEST_PROTOCOL 

def load_pkl(name): 
    with open(os.path.join(__location__,name + '.pkl'), 'rb') as f: 
     return pickle.load(f) 

def save_csv(obj, name): 
    f=open(os.path.join(__location__,name+'.csv'),"wb") 
    writer=csv.writer(f) 
    if name=="customer": 
     writer.writerow(("Name","MobileNumber","Email","Joined")) 
     for number in obj: 
      writer.writerow((obj[number]["name"],number,obj[number]["email"],obj[number]["joined"]))  
    else: 
     writer.writerow(("Name","MobileNumber","Email")) 
     for number in obj: 
      writer.writerow((obj[number]["name"],number,obj[number]["email"])) 
    f.close() 

def load_csv(name): 
    db={} 
    f=open(os.path.join(__location__,name+'.csv'),"rb") 
    headers = next(f).strip().split(",") 
    freader = csv.reader(f) 
    for entry in freader: 
     name = entry[0] 
     mobilenumber = entry[1] 
     email = entry[2] 
     db[mobilenumber]={"name" : name, "email" : email} 
     if "Joined" in headers: 
      joined = entry[3] 
      db[mobilenumber]["joined"] = joined 
    f.close() 
    return db 
+0

コードを提供できますか? – xli

+0

@xli私はちょうどpklとcsvのロード/保存コードを追加しました – atclaus

答えて

1

セルに数式の解釈を維持するために、テキストの前にダニが最初に思い浮かぶとex: '+33 445 455 333)(有益である可能性があります。

CSVでその除き、動作するようです。サポートされていないが、それが失われていますCSVに保存するとき。引用エキストラはどちらか動作しません。

を別の方法として、あなたはXLSXでデータベースを救うことができるの代わりに、CSV

  • 大手ダニはありませんジョブは
  • あなたに簡単にエクセルを使用してファイルを編集することができ
  • のpythonは、少なくとも2つの適切XLSX扱うためのモジュールがあります:openpyxlとをxlrd

(私はあなたが私の答えの意見があるためベース見つからないことを願っています他の有効なソリューションがいくつか存在する可能性があります)

+0

ありがとうございました。私はXLSXに行くことを試みるかもしれないが、すべてを再び変換するために忍耐を必要とする。私はPKLを非常によく管理しているpython DB管理プログラムを書いていますので、easyguiでそれを保つことはできますが、簡単な解決策が望まれます... – atclaus

+0

'csv' *の方言*優れている?多分あなたはそれを試すことができます。 –

+0

は論理的なことに思えましたが、もちろんあなたのコードに依存します。 –

関連する問題