{"id":36,"date":"2019-03-06T19:12:25","date_gmt":"2019-03-06T18:12:25","guid":{"rendered":"https:\/\/formatext.es\/codigo\/?p=36"},"modified":"2021-12-29T19:09:09","modified_gmt":"2021-12-29T18:09:09","slug":"funcion-python-para-leer-el-contenido-de-un-excel","status":"publish","type":"post","link":"https:\/\/formatext.es\/codigo\/funcion-python-para-leer-el-contenido-de-un-excel\/","title":{"rendered":"Web2py: Funci\u00f3n Python para leer el contenido de un excel"},"content":{"rendered":"<p>Con esta funci\u00f3n y la librer\u00eda openpyxl leemos un archivo excel (de 8 columnas en este caso) previamente subido por el usuario cuyo nombre recibimos por parametro:<\/p>\n<pre>def procesa_excel(nom_arxiu):\r\n    import openpyxl\r\n    import sys\r\n    reload(sys)\r\n    sys.setdefaultencoding('utf-8')\r\n    session.data = None #Se deja vacia session.data por si conten\u00eda datos de anteriores cargas del archivo\r\n    # Carga del documento '.xlsx'\r\n    doc = openpyxl.load_workbook('.\/applications\/ruta_al_archivo\/'+nom_arxiu)\r\n    # obtenemos las hojas disponibles en el archivo\r\n    hojas = doc.get_sheet_names()\r\n    # seleccionamos la primera hoja\r\n    hoja = doc.get_sheet_by_name(hojas[0])\r\n    i = 2 #empezamos a contar las filas sin la cabecera\r\n    dimension = hoja.max_row\r\n    for i in range(2,dimension+1):\r\n        cell_nom = str(hoja.cell(row=i, column=1).value)\r\n        cell_cognom = str(hoja.cell(row=i, column=2).value)\r\n        cell_cognom2 = str(hoja.cell(row=i, column=3).value)\r\n        cell_data = str(hoja.cell(row=i, column=4).value)\r\n        cell_tfno = str(hoja.cell(row=i, column=5).value)\r\n        cell_email = str(hoja.cell(row=i, column=6).value)\r\n        cell_dni = str(hoja.cell(row=i, column=7).value)\r\n        cell_dir = str(hoja.cell(row=i, column=8).value)\r\n        \r\n    #una vez leido hacemos con los datos lo que sea\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Con esta funci\u00f3n y la librer\u00eda openpyxl leemos un archivo excel (de 8 columnas en este caso) previamente subido por el usuario cuyo nombre recibimos por parametro: def procesa_excel(nom_arxiu): import openpyxl import sys reload(sys) sys.setdefaultencoding(&#8216;utf-8&#8217;) session.data = None #Se deja vacia session.data por si conten\u00eda datos de anteriores cargas del archivo # Carga del documento [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":6,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/posts\/36\/revisions\/69"}],"wp:attachment":[{"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formatext.es\/codigo\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}