J'ai actuellement une tâche qui consiste à télécharger un fichier maître CSV, en supprimant toutes les lignes où la colonne A - Colonne B < = 0, et où la colonne C est égale à une phrase donnée. Je cherche à créer un programme qui:Filtrer le programme de fichiers CSV en utilisant Pandas et Python
- Importer un fichier CSV
- Supprimez toutes les lignes où la colonne A - colonne B < = 0
- Demandez entrée pour filtrer sur la colonne C pour une ou plusieurs phrases
- Export CSV dans un nouveau fichier
jusqu'à présent, j'ai déterminé que la meilleure façon de le faire est d'utiliser la fonctionnalité de dataframe de Pandas, comme je l'ai utilisé précédemment pour exécuter d'autres opérations sur CSV fichiers:
import pandas as pd
file = read_csv("sourcefile.csv")
file['NewColumn'] = file['A'] - file['B']
file = file[file.NewColumn > 0]
columns = ['ColumnsIWantToRemove']
file.drop(columns, inplace=True, axis=1)
phrases = input('What phrases are you filtering for? ')
file = file[file.C = phrases]
file.to_csv('export.csv')
Ma question est, comment dois-je filtrer la colonne C pour plusieurs phrases? Je veux que le programme prenne une ou plusieurs phrases et affiche seulement les lignes où la valeur de la colonne C est égale à l'une de ces valeurs. Toute orientation serait incroyable. Je vous remercie!!
J'ai essayé, mais il ne semble pas être le filtrage et quand j'exporte le fichier de données, il apparaît vide. Des idées? – dner
@dner instructions d'impression sont votre ami ici, vous devriez essayer d'imprimer des phrases avant et après la scission, puis vous pouvez voir si vous pouvez répliquer cela dans le repl (par exemple ipython). –