[PYTHON] Help compréhension script

Help compréhension script [PYTHON] - Python - Programmation

Marsh Posté le 12-02-2017 à 18:40:56    

Hello les amis,
 
J'utilise actuellement un script python qui m'aide à élaborer des base de données Excel à partir de contacts sur Linkedin (je récupère prénom/nom, société et poste dans un tableau excel)
Je vois le fonctionnement globale de ce dernier :  
- il récupère les données du fichier HTML de la page
- le convertit en json
- parse ce dernier selon des délimiteurs données
- test pour voir si champs vides etc
- création d'un fichier excel avec les contenus parsés
 
Cependant, j'aurais aimé avec des commentaires plus précis sur ce code (ne codant pas sur python).
Si une âme charitable pouvait m'aider, je lui serais reconnaissant :)
 
Bonne soirée à vous,
Guillaume
 
http://reho.st/preview/self/8caa50d14402669d04ce89683ea5a58bfc06329e.png
 

Reply

Marsh Posté le 12-02-2017 à 18:40:56   

Reply

Marsh Posté le 13-02-2017 à 04:14:08    

Avec un code source sous forme d'image c'est déjà très mal parti. :o

Reply

Marsh Posté le 13-02-2017 à 09:46:31    

rat de combat a écrit :

Avec un code source sous forme d'image c'est déjà très mal parti. :o


 
Comment je peux insérer mon .py ?  [:tamahome:1]

Reply

Marsh Posté le 13-02-2017 à 11:05:56    

copier-coller le contenu et utiliser le bouton http://forum-images.hardware.fr/icones/message/c.gif pour bien faire!


Message édité par rat de combat le 13-02-2017 à 11:06:37
Reply

Marsh Posté le 13-02-2017 à 11:18:08    


La première partie est en commentaire, ne pas en tenir compte.
Prendre le corps à partir de la ligne 73
 
C'est mieux ?
 
 

Code :
  1. import json
  2. from xlwt import Workbook
  3. import xlrd
  4. # création
  5. import os
  6. resultats={}
  7. # ajout des valeurs dans la ligne suivante
  8. """
  9. def editXLS(name,htmlname):
  10.  cells=[]
  11. classeur = xlrd.open_workbook(name+".xls" )
  12. nom_des_feuilles = classeur.sheet_names()
  13. feuille = classeur.sheet_by_name(nom_des_feuilles[0])
  14. result="a"
  15. x=0
  16. for row in range(classeur.feuille.nrows):
  17.      cells.append([])
  18.      for col in range(classeur.feuille.ncols):
  19.          cells[row].append(workbook.cell(row, col).value)
  20. path_fichier=htmlname+".html"
  21. with open(path_fichier,"r" ) as fichier:
  22.  contenu = fichier.read()
  23.  contenus=contenu.split("<code id=\"embedded-json\">" )
  24.  contenus2=contenus[1].split("</code>" )[0]
  25.  contenus2=contenus2.split("<!--" )[1]
  26.  contenus2=contenus2.split("-->" )[0]
  27. with open("results.json","w" ) as fichier:
  28.  fichier.write(contenus2)
  29. with open("results.json","r" ) as fichier:
  30.  data =json.load(fichier)
  31.  data= data["searchResults"]
  32. j=0
  33. for i in range(len(data)):
  34.  lignei = feuil1.row(i+1)
  35.  lignei.write(0,data[i]["member"]["formattedName" ])
  36.  lignei.write(1,data[i]["company"]["companyName"])
  37.  lignei.write(2,data[i]["member"]["title"])
  38.  j=i+1
  39. lignei=feuil1.row(j)
  40. lignei.write(0,"" )
  41. book.save(name+".xls" )
  42. # création matérielle du fichier résultant
  43. def createXLS(name):
  44. book = Workbook()
  45. # création de la feuille 1
  46. feuil1 = book.add_sheet('results')
  47. # ajout des en-têtes
  48. feuil1.write(0,0,'Nom')
  49. feuil1.write(0,1,'Entreprise')
  50. feuil1.write(0,2,'Poste')
  51. book.save(name+".xls" )
  52. """
  53. def treat_file(path_fichier):
  54. global resultats
  55. with open(path_fichier,"r" ) as fichier:
  56.  contenu = fichier.read()
  57.  contenus=contenu.split("<code id=\"embedded-json\">" )
  58.  contenus2=contenus[1].split("</code>" )[0]
  59.  contenus2=contenus2.split("<!--" )[1]
  60.  contenus2=contenus2.split("-->" )[0]
  61. with open("json/"+str(len(resultats))+".json","w" ) as fichier:
  62.  fichier.write(contenus2)
  63. with open("json/"+str(len(resultats))+".json","r" ) as fichier:
  64.  data =json.load(fichier)
  65.  data= data["searchResults"]
  66. data2={}
  67. for i in range(len(data)):
  68.  if(("companyName"in data[i]["company"])==False and ("title" in data[i]["member"])==False ):
  69.   data2[i]=[data[i]["member"]["formattedName" ],"",""]
  70.  elif(("companyName"in data[i]["company"]) ==False):
  71.   data2[i]=[data[i]["member"]["formattedName" ],"",data[i]["member"]["title"]]
  72.  elif(("title" in data[i]["member"])==False):
  73.   data2[i]=[data[i]["member"]["formattedName" ],data[i]["company"]["companyName"],""]
  74.  else:
  75.   data2[i]=[data[i]["member"]["formattedName" ],data[i]["company"]["companyName"],data[i]["member"]["title"]]
  76. resultats[len(resultats)]=data2
  77. def main():
  78. folder_path="resultats_HTML"
  79. book = Workbook()
  80. i = 1
  81. for path, dirs, files in os.walk(folder_path):
  82.  for filename in files:
  83.   treat_file(folder_path+"/"+filename)
  84.  # création de la feuille 1
  85. feuil1 = book.add_sheet('results')
  86. # ajout des en-têtes
  87. feuil1.write(0,0,'Nom')
  88. feuil1.write(0,1,'Entreprise')
  89. feuil1.write(0,2,'Poste')
  90. for key, value in resultats.items():
  91.  for key2, value2 in value.items():
  92.   feuil1.write(i,0,value2[0])
  93.   feuil1.write(i,1,value2[1])
  94.   feuil1.write(i,2,value2[2])
  95.   i+=1
  96. book.save("liste.xls" )
  97. main()

Reply

Marsh Posté le 15-02-2017 à 11:50:21    

up ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed