-5
J'ai ce morceau de code à ScalaPython Equivalence du Code Scala de Spark
val file = sc.textFile(filelocation)
//Inital edge list that is to be passed to Iterate function
var edges : RDD[(Int, Int)] = file.flatMap{
s => val nodes = s.split("\\s+")
Seq((nodes(0).toInt, nodes(1).toInt))
}
edges.collect()
Je lis un fichier local dont l'entrée est
1 0
0 3
3 4
2 4
La sortie du code est la suivante:
Array[(Int, Int)] = Array((1,0), (0,3), (3,4), (2,4))
Je veux réaliser la même chose en python. Je fais ce moment
filelocation = "/FileStore/tables/nr8rkr051469528365715/cc_test-3be20.txt"
file = sc.textFile(filelocation)
def tokenize(text):
row = text.split('\\s+')
return row
result = file.flatMap(tokenize)
Et je reçois cela comme une sortie
Out[5]: [u'1 0', u'0 3', u'3 4', u'2 4']
changez simplement votre chaîne fractionnée en "" un seul espace. En python, le split reçoit une chaîne. – Aquiles
J'ai essayé ce @Aquiles. Ça me donnerait ça comme sortie [22]: [u'1 ', u'0', u'0 ', u'3', u'3 ', u'4', u'2 ', u '4'] Mais je veux quelque chose liste une liste de tuples pour chaque ligne dans le fichier – jems
c'est une solution simple mais je ne sais pas si c'est ce que vous voulez, mais vous pouvez toujours essayer de retourner [row] ou list (row) et voir qu'est-ce que cela fait ... Je n'ai pas la bibliothèque sc donc je ne peux pas tester – Aquiles