{"id":7958,"date":"2015-07-16T09:20:04","date_gmt":"2015-07-16T14:20:04","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7958"},"modified":"2026-04-04T11:38:26","modified_gmt":"2026-04-04T16:38:26","slug":"archivos-csv-json","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-u08\/archivos-csv-json\/","title":{"rendered":"8.2 Archivos - csv, json con\u00a0Pandas"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Archivo<a href=\"#Archivoscsv\">s csv<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/Archivosjson\">Archivos json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"archivoscsv\">1. Archivos csv<\/h2>\n\n\n\n<p>Algunas tablas de datos se pueden recibir como archivos.csv, que son datos separados por <code>';'<\/code> , debiendo indicar el separador de decimales <code>','<\/code>.<\/p>\n\n\n\n<p><strong><em>Ejemplo de archivo<\/em><\/strong>: <a href=\"https:\/\/www.dropbox.com\/s\/zm8huemz5imdmf7\/ejemplonotas01.csv?dl=0\">ejemplonotas01.csv<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nombre;primera;segunda;tercera;final\nMaria;55;70;0;62,5\nPedro;30;60;70;65\nJuan;80;65;65;72,5<\/code><\/pre>\n\n\n\n<p>puede ser le\u00eddo y procesado usando la librer\u00eda pandas<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport pandas as pd\n\n# INGRESO\n# archivo de entrada\nunarchivo = 'ejemplonotas01.csv'\n\n\n# PROCEDIMIENTO\ntabla = pd.read_csv(unarchivo,\n                    sep=';',\n                    na_values=',')\n\n# SALIDA\nprint(tabla)\n\n<\/pre><\/div>\n\n\n<p>con lo que se obtiene:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  nombre  primera  segunda  tercera final\n0  Maria       55       70        0  62,5\n1  Pedro       30       60       70    65\n2   Juan       80       65       65  72,5\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<p>Tama\u00f1o de la tabla:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; tabla.shape\n(3, 5)\n&gt;&gt;&gt; tabla.columns\nIndex(&#091;'nombre', 'primera', 'segunda', 'tercera', 'final'], dtype='object')\n&gt;&gt;&gt; tabla&#091;'nombre']\n0    Maria\n1    Pedro\n2     Juan\nName: nombre, dtype: object<\/code><\/pre>\n\n\n\n<p>Seleccionando solo un grupo de datos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; soloprimera = tabla&#091;'primera']\n&gt;&gt;&gt; soloprimera\n0    55\n1    30\n2    80\nName: primera, dtype: int64\n\n&gt;&gt;&gt; media = soloprimera.mean()\n&gt;&gt;&gt; media\n55.0<\/code><\/pre>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>:<br><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.read_csv.html\">https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.read_csv.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.to_csv.html\">https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.to_csv.html<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Archivo<a href=\"#Archivoscsv\">s csv<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/Archivosjson\">Archivos json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"archivosjson\">2. Archivos json<\/h2>\n\n\n\n<p>Algunas estructuras de datos que se encuentran en formato tipo \"diccionario\" se pueden guardar y leer usando librer\u00edas Pandas.<\/p>\n\n\n\n<p>Para el ejemplo se usa el diccionario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tabla = {'Maria': {'primera': 55,\n                   'segunda': 70,\n                   'tercera': 0,\n                   'final': '62,5'},\n         'Pedro': {'primera': 30,\n                   'segunda': 60,\n                   'tercera': 70,\n                   'final': '65'},\n         'Juan': {'primera': 80,\n                  'segunda': 65,\n                  'tercera': 65,\n                  'final': '72,5'}\n         }<\/code><\/pre>\n\n\n\n<p>Para almacenar estos datos se realiza la conversi\u00f3n del diccionario a DataFrame con el objetivo de usar la instrucci\u00f3n de Pandas para guardar archivos.json.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tabla.to_json(unarchivo)<\/code><\/pre>\n\n\n\n<p>Instrucciones en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport pandas as pd\n\n# INGRESO\n#archivos de salida T: Transpuesta\nunarchivo  = 'ejemplonotas01.json'\nunarchivoT = 'ejemplonotasT01.json'\n\n# datos como diccionario de datos\ntabla = {'Maria': {'primera': 55,\n                   'segunda': 70,\n                   'tercera': 0,\n                   'final': '62,5'},\n         'Pedro': {'primera': 30,\n                   'segunda': 60,\n                   'tercera': 70,\n                   'final': '65'},\n         'Juan': {'primera': 80,\n                  'segunda': 65,\n                  'tercera': 65,\n                  'final': '72,5'}\n         }\n\n# PROCEDIMIENTO\n# conversi\u00f3n a DataFrame de pandas\ntabla = pd.DataFrame(tabla)\ntablaT = tabla.transpose()\n\n# SALIDA\nprint(tabla)\nprint('transponer: ')\nprint(tablaT)\n\n# almacena en archivo.json\ntabla.to_json(unarchivo)\ntablaT.to_json(unarchivoT)\n\n<\/pre><\/div>\n\n\n<p>los archivos resultantes son:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/krp9y0bo2wnalkn\/ejemplonotas01.json?dl=0\">ejemplonotas01.json<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/8sk2n1szvzkxsxe\/ejemplonotasT01.json?dl=0\">ejemplonotasT01.json<\/a><\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>:<br><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.io.json.read_json.html\">https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.io.json.read_json.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.to_json.html\">https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.to_json.html<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>Archivo<a href=\"#Archivoscsv\">s csv<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/Archivosjson\">Archivos json<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Archivos csv Archivos json 1. Archivos csv Algunas tablas de datos se pueden recibir como archivos.csv, que son datos separados por ';' , debiendo indicar el separador de decimales ','. Ejemplo de archivo: ejemplonotas01.csv puede ser le\u00eddo y procesado usando la librer\u00eda pandas con lo que se obtiene: Tama\u00f1o de la tabla: Seleccionando solo un [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[109],"tags":[],"class_list":["post-7958","post","type-post","status-publish","format-standard","hentry","category-fp-u08"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=7958"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7958\/revisions"}],"predecessor-version":[{"id":16184,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7958\/revisions\/16184"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}