J'ai les données dans .txt code> séparés par des espaces et des pauses de ligne. Voici certains d'entre eux.
t.add_edge('1', '2', 1082040961)
t.add_edge('3', '4', 1082155839)
t.add_edge('5', '2', 1082414391)
t.add_edge('6', '7', 1082439619)
t.add_edge('8', '7', 1082439756)
4 Réponses :
Vous pouvez parcourir le jeu de données de la manière suivante:
with open(filename.txt) as f: for line in f: data = line.strip().split() t.add_edge(data[0], data[1], int(data[2])
't.add_edge (données [0], données [1], int (données [2])' Cette pièce codant dans des guillemets simples pour les données dans les première et seconde colonnes?
oui, data [0] code>,
data [1] code> et
data [2] code> sont toutes des cordes et donc les deux premières peuvent être transmises à la une fonction.
Vous pouvez également utiliser la bibliothèque Pandas.
Pourquoi marquez-vous la chaîne dans chemin code> avec un préfixe
r code>? Ce préfixe marque le début d'une expression régulière.
Pour éviter une erreur unicode. Par exemple, mon chemin est "c: \ users \ users \ berka \ dektop \ dene.txt" code> et
\ b code> provoque une erreur unicode.
@accdias - le r code> ne signifie pas que c'est une expression régulière, cela signifie qu'il s'agit d'une chaîne brute, qui sont souvent utilisées pour des expressions régulières, mais dans ce cas, il suffit de ne pas avoir à échapper manuellement à la " `Dans le chemin du nom de fichier.
@thesilkworm, Oh! Je vois. Merci pour l'explication. Je l'ai toujours utilisé en pensant que c'était un marqueur pour une expression régulière et que maintenant, cela fait beaucoup plus de sens.
Je ne sais pas si c'est ce dont vous avez besoin, mais il y a une fonction lecture_file code> dans la bibliothèque pathpy. Il permet de construire un nouvel objet temporalnetwork code> à partir d'un fichier de format similaire au vôtre. Cochez cette case commettre . P>
Cela peut aider aussi:
print [t.add_edge(str(data[0]),str(data[2]),int(data[4:-1])) for data in open("filename.txt") if data.strip().split(" ")]