2016-05-21 7 views
0

Hilfe benötigt mit meinem Verkaufsrekord. Mein Programm ruft die Informationen in meiner Textdatei ab. dieser Code unter:Datensätze verarbeiten. - Ruft Informationen in TXT-Datei auf. Python

text_file = open("data.txt", "r") 

lines = text_file.readlines() 

print (lines) 

print (lines) 

text_file.close() 

öffnet meine data.txt-Datei, die die folgenden Informationen enthält:

1-2-2014,Frankton,42305.67,23 
12-4-2014,Glenview,21922.22,17 
10-2-2015,Glenview,63277.9,32 
10-5-2015,Glenview,83290.09,16 
11-6-2015,Frankton,81301.82,34 
10-10-2015,Frankton,62333.3,40 
11-11-2015,Frankton,28998.8,29 
1-1-2016,Glenview,51083.5,27 
1-3-2016,Glenview,62155.72,42 
27-3-2016,Frankton,33075.1,18 
2-4-2016,Glenview,61824.7,35 

Wie kann ich eine nicht-wert Rückkehr Funktion print_all_records (Aufzeichnungen) schreiben. Wenn die Funktion eine Liste als Perimeter verwendet und die Datensätze anzeigt, ein Datensatz pro Zeile. unter verschiedenen Überschriften.

Beispiel in Bezug auf die Datei data.txt. Es sollte so aussehen, wenn gedruckt wird. mit jeder Zeile, die die Informationen in der Textdatei enthält.

Date   Branch    Daily Sale   Transactions 
01/02/2014 Frankton   $42305.67   23 
12/04/2014 Glenview   $219.22.22   17 
+0

Check out https://pypi.python.org/pypi/PrettyTable. Es ist nicht genau das Format, das Sie wollen, aber es ist sehr einfach zu bedienen und sieht auch sehr gut aus. –

+0

Ist das Hausaufgabe oder eine Aufgabe? –

Antwort

0

Wenn Sie jede Zeile als String in einer Liste gespeichert haben, können Sie verwenden:

def print_all_records(records): 
    print("Date" + "\t\t" + "Branch" + "\t\t" + "Daily Sale" + "\t\t" + "Transactions") 
    for record in records: 
     parts = record.split(",") 
     print(parts[0] + "\t" + parts[1] + "\t" + "$" + parts[2] + "\t\t" + parts[3]) 

Sie können offensichtlich die Anzahl der Registerkarten (\t) nach Ihren eigenen Wünschen anpassen.

0

Sie können Pandas verwenden -

import pandas as pd 

df = pd.read_csv('file_name.txt', header = None) 

df.columns = ['Date', 'Branch', 'Daily Sale', 'Transactions'] 

print(df.to_string(index = False, justify = 'left')) 

Ausgang -

Date  Branch  Daily Sale Transactions 
    1-2-2014 Frankton 42305.67 23   
    12-4-2014 Glenview 21922.22 17   
    10-2-2015 Glenview 63277.90 32   
    10-5-2015 Glenview 83290.09 16   
    11-6-2015 Frankton 81301.82 34   
10-10-2015 Frankton 62333.30 40   
11-11-2015 Frankton 28998.80 29   
    1-1-2016 Glenview 51083.50 27   
    1-3-2016 Glenview 62155.72 42   
    27-3-2016 Frankton 33075.10 18   
    2-4-2016 Glenview 61824.70 35 
+0

danke. Importfehler: Kein Modul namens Pandas –

+0

Pandas ist ein externes Modul. Du musst es installieren. –

+0

oh danke. Ich fragte mich auch, gibt es eine Möglichkeit für mein Programm, die Datei data.txt zu durchsuchen? Wenn Sie beispielsweise ein Datum eingeben, das mit einem Datum in der Datei "data.txt" übereinstimmt, gibt es dessen Informationen aus. (Ich würde wahrscheinlich einen neuen Thread beginnen müsste, würde ich nicht?) –

Verwandte Themen