dire que j'ai deux fichiers CSV (fichier1 et fichier2) avec des contenus, comme indiqué ci-dessous:
File1: p> fichier2: p> fred,39,Male,"23,45",blue,"1, bedrock avenue"
4 Réponses :
Je suppose que les meilleurs moyens sont d'utiliser Python Bibliothèque: http://docs.python.org /library/csv.html .
mise à jour (exemple ajouté) strong>: p>
Pourriez-vous donner un exemple s'il vous plaît?
@Elalfer j'aime ça, mais ça ne compare pas Col 0 le fait-il?
@ CODER999 OH VRAI, vous avez demandé à comparer tous les champs mais 1er. Exemple mis à jour
@Elafer, @ coder999: bug b> si (rangée1 [0] == Row2 [0]) et (rangée [2:] == ligne [2:]): code> devrait être si (rangée1 [0] == Row2 [0]) et (rangée1 [2:] == Row2 [2:]): code>
Je lirais les deux enregistrements, éliminerait la colonne 1 et le comparer ce qui reste. (Dans Python3 Works)
import csv
file1 = csv.reader(open("file1.csv", "r"))
file2 = csv.reader(open("file2.csv", "r"))
r1 = next(file1)
r1.pop(1)
r2 = next(file2)
r2.pop(1)
return r1 == r2
Cela ne fonctionnerait pas à cause des virgules intégrées dans les valeurs
Vous auriez dû soumettre une autre réponse plutôt que de réécrire complètement celle-ci.
import csv
interesting_cols = [0, 2, 3, 4, 5]
with open("file1.csv", 'r') as file1,\
open("file2.csv", 'r') as file2:
reader1, reader2 = csv.reader(file1), csv.reader(file2)
for line1, line2 in zip(reader1, reader2):
equal = all(x == y
for n, (x, y) in enumerate(zip(line1, line2))
if n in interesting_cols
)
print(equal)
Je suis nouveau pour cela et c'est vraiment serviable pour moi, j'ai atteint ce que je voulais mais au lieu d'index! pouvons-nous utiliser des noms de colonnes pour la compression? Si oui, comment? Pourriez-vous s'il vous plaît guider
@Ravik Oui Il est possible d'utiliser les noms de colonnes. Veuillez consulter la documentation et des exemples officiels pour intégré CSV Code de Python> Module .
# Include required modules
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Include required csv files
df_TrainSet = pd.read_csv('../data/ldp_TrainSet.csv')
df_DataSet = pd.read_csv('../data/ldp_DataSet.csv')
# First test
[c for c in df_TrainSet if c not in df_DataSet.columns]
# Second test
[c for c in df_DataSet if c not in df_TrainSet.columns]
With this example I check both CSV files whether the columns in both files are present in each other.
À propos de Edit2: Il suffit d'utiliser
importer csv code> et tout ira bien.@ulidtko oui, appréciez cela. Je ne voulais pas être normatif si au cas où il y avait une autre solution que je ne connaissais pas.