2016-10-22 5 views
1

Ich habe ein Python-Programm, das Twilio verwendet, die ich gerade von PKL-Datenbanken in CSV verschoben. Ich habe gelesen, dass die Zugriffszeit ungefähr gleich ist, wollte aber die Bearbeitung erleichtern.Erhalten führenden "+" in CSV via Excel

Problem ist Twilio mag eine führende "+" für Telefonnummern (die ich in der Datenbank speichern), aber beim Bearbeiten in Excel entfernt alle diese führenden Pluszeichen.

Was ist der beste Weg, Telefonnummernspeicher in Python für Twilio zu behandeln?

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

Können Sie Ihren Code zur Verfügung stellen? – xli

+0

@xli Ich habe gerade meine pkl und csv geladen/speichern Codes – atclaus

Antwort

1

Die Zecke vor Textinterpretation von Formeln zu erhalten in die Zelle zuerst in den Sinn kommt und nützlich sein könnte (ex: '+33 445 455 333).

dass außer im CSV nicht unterstützt wird. Es scheint zu funktionieren, aber es ist verloren wenn in CSV zu speichern. zusätzliche Angabe funktioniert auch nicht.

Als Alternative, können Sie Ihre Datenbank in XLSX statt CSV

  • der führende Zecke tut

    retten könnte der Job
  • Sie können Ihre Datei mit Excel bearbeiten, wie leicht
  • Python hat mindestens zwei Module XLSX zu handhaben richtig: openpyxl und xlrd

(ich hoffe, dass Sie nicht meine Antwort Meinung finden basierend weil es ist wahr, dass es mehrere andere gültige Lösungen gibt)

+0

Danke. Ich kann versuchen, zu XLSX zu gehen, aber ich brauche die Geduld, um alles wieder zu konvertieren. Ich habe ein Python-DB-Managementprogramm geschrieben, das die PKLs ziemlich gut verwaltet, also vielleicht über easygui, aber auf eine einfachere Lösung gehofft hat ... – atclaus

+0

Funktioniert das Häkchen nicht, wenn 'csv' * -Dialekt * auf' gesetzt ist übertreffen? Vielleicht könntest du das versuchen. –

+0

schien die logische Sache zu tun, aber es hängt natürlich von Ihrem Code ab. –