2017-01-13 4 views
-2
People  OS  Games Owned 
Anthony Windows  120 
Alissa Windows  70 
Jordan Windows  20 
Khan  Mac   47 
Benny  Mac   23 
Anastasia Linux  16 
McCurdy  Linux  10 

Ich fragte mich, wie würde ich gehen über die Filterung von Menschen, die über 20 Spiele besitzen, und sie haben kein Mac OS System. Ich brauche es über ein Python-Skript, und wenn es ausgeführt wird, gibt es seine Daten in einer separaten Datei aus, etwa in einer Textdatei oder so. Vielen Dank!Wie filtert man spezifische Daten aus einer CSV via Python?

Antwort

1

Hier ist eine Lösung in reinem Python ist, der eine gefilterte Ausgabe in eine Textdatei (CSV) wie gewünscht schreibt.

import csv 

with open('games.csv', 'rb') as csvfile: 
    # handle header line, save it for writing to output file 
    header = next(csvfile).strip("\n").split(",") 
    reader = csv.reader(csvfile) 
    results = filter(lambda row: row[1] != 'Mac' and int(row[2]) > 20, reader) 

with open('output.csv', 'wb') as outfile: 
    writer = csv.writer(outfile) 
    writer.writerow(header) 
    for result in results: 
     writer.writerow(result) 
0

Ich würde vorschlagen, die Pandas-Bibliothek zu verwenden.

-Code ist im Grunde wie folgt:

import pandas as pd 

data = pd.read_csv('put in your csv filename here') 
# Filter the data accordingly. 
data = data[data['Games Owned'] > 20] 
data = data[data['OS'] == 'Mac'] 
+0

Danke für die Hilfe! – SkytechCEO

Verwandte Themen