<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ José A. Soto Hernández - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ José A. Soto Hernández - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 08:28:23 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/author/antoniopwr/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Como combinar múltiples archivos CSV con solo 8 líneas de código ]]>
                </title>
                <description>
                    <![CDATA[ ¿Por qué necesitas esto? Copiar y pegar de forma manual está bien si no tienes muchos archivos con los cuales trabajar. Pero imagina que tienes más de 100 archivos que juntar — ¿estás dispuesto a hacerlo uno por uno? Hacer esto de forma repetida es tedioso y es muy probable ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-combinar-multiples-archivos-csv-con-solo-8-lineas-de-codigo/</link>
                <guid isPermaLink="false">63227c9fb1786008d5615d5a</guid>
                
                    <category>
                        <![CDATA[ Python ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ José A. Soto Hernández ]]>
                </dc:creator>
                <pubDate>Thu, 20 Oct 2022 22:42:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/09/1-NQgINaLXYMzvowRHHa6Plw.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/how-to-combine-multiple-csv-files-with-8-lines-of-code-265183e0854/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to combine multiple CSV files with 8 lines of code</a>
      </p><h3 id="-por-qu-necesitas-esto">¿Por qué necesitas esto?</h3><p>Copiar y pegar de forma manual está bien si no tienes muchos archivos con los cuales trabajar.</p><p>Pero imagina que tienes más de 100 archivos que juntar — ¿estás dispuesto a hacerlo uno por uno? Hacer esto de forma repetida es tedioso y es muy probable cometer un error.</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/1*uRBGXWKaeRjw6Ck2NrhcIA.png" class="kg-image" alt="1*uRBGXWKaeRjw6Ck2NrhcIA" width="800" height="266" loading="lazy"></figure><p>Si todos los archivos tienen la misma estructura en sus tablas (encabezados y número de columnas iguales), dejemos que este pequeño <a href="https://github.com/ekapope/Combine-CSV-files-in-the-folder/blob/master/Combine_CSVs.py">script de Python</a> haga el trabajo.</p><h4 id="paso-1-importa-los-paquetes-y-selecciona-el-directorio-de-trabajo">Paso 1: Importa los paquetes y selecciona el directorio de trabajo</h4><p>Cambia "/midir" por tu directorio de trabajo o carpeta deseada.</p><pre><code class="language-python">import os
import glob
import pandas as pd
os.chdir("/midir")</code></pre><h4 id="paso-2-usa-la-funci-n-glob-para-encontrar-el-patr-n-csv-">Paso 2: Usa la función glob para encontrar el patrón 'csv'</h4><p>Encuentra el patrón ('csv') y guarda la lista de los nombres de los archivos en la variable 'todos_los_archivos'. Puedes revisar <a href="https://regexr.com/">este link</a> para aprender más sobre expresiones regulares (RegEx).</p><pre><code class="language-py">extension = 'csv'
todos_los_archivos = [i for i in glob.glob('*.{}'.format(extension))]</code></pre><h4 id="paso-3-combina-todos-los-archivos-en-la-lista-y-exp-rtalos-como-csv">Paso 3: Combina todos los archivos en la lista y expórtalos como CSV</h4><p>Usa la librería 'pandas' para concatenar todos los archivos en la lista y exportarlos como CSV. El nombre del archivo resultante será 'combined_csv.csv' y podrás encontrarlo en tu directorio de trabajo o carpeta seleccionada previamente.</p><pre><code class="language-py">#combina todos los archivos de la lista
combinado_csv = pd.concat([pd.read_csv(f) for f in todos_los_archivos ])
#exporta a csv
combinado_csv.to_csv( "combinado_csv.csv", index=False, encoding='utf-8-sig')</code></pre><p>El encoding = ‘utf-8-sig’ se agregó para solucionar el problema al exportar idiomas 'Non-English'.</p><p>¡Y eso es todo!</p><p>Este artículo estuvo inspirado en mi problema del día a día y la estructura del código de una pregunta en <a href="https://stackoverflow.com/questions/9234560/find-all-csv-files-in-a-directory-using-python/12280052">stackoverflow</a>. El script utilizado se encuentra <a href="https://github.com/ekapope/Combine-CSV-files-in-the-folder/blob/master/Combine_CSVs.py">documentado en GitHub</a>.</p><p>Gracias por leerlo. Inténtalo, diviértete y déjame saber tus comentarios.</p><p>Si te gusto mi trabajo, considera seguirme en <a href="https://ekapope.github.io/">GitHub</a>, <a href="https://medium.com/@ekapope.v">Medium</a>, y <a href="https://twitter.com/EkapopeV">Twitter</a>. Asegúrate de <a href="https://github.com/Ekapope">darle una estrella en GitHub</a> :P</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Ejemplo de comentario en JSON: Como agregar comentarios en archivos JSON ]]>
                </title>
                <description>
                    <![CDATA[ Si has estado teniendo problemas para agregar comentarios a un archivo JSON, hay una buena razón: JSON no cuenta con soporte para comentarios. "Elimine los comentarios de JSON porque vi gente que los estaba usando para mantener directivas de parsing, una práctica que podría haber destruido la interoperabilidad", escribe Douglas ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-agregar-comentarios-en-archivos-json/</link>
                <guid isPermaLink="false">6320c7a9b1786008d5615924</guid>
                
                    <category>
                        <![CDATA[ Json ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ José A. Soto Hernández ]]>
                </dc:creator>
                <pubDate>Thu, 20 Oct 2022 22:17:23 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/09/abstract-art-blur-bright-373543.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/json-comment-example-how-to-comment-in-json-files/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">JSON Comment Example — How to Comment in JSON Files</a>
      </p><p><em>Si has estado teniendo problemas para agregar comentarios a un archivo JSON, hay una buena razón: JSON no cuenta con soporte para comentarios.</em></p><p>"Elimine los comentarios de JSON porque vi gente que los estaba usando para mantener directivas de parsing, una práctica que podría haber destruido la interoperabilidad", escribe <a href="https://web.archive.org/web/20150105080225if_/https:/plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr">Douglas Crockford</a>, quien popularizo el formato de información basado en texto.</p><p>Sin embargo, existe una solución alternativa y de eso trata este artículo: como agregar comentarios a un archivo JSON.</p><h2 id="agregar-informaci-n-como-comentarios">Agregar información como comentarios</h2><p>Una manera de eludir el problema de los comentarios es agregar información que funcione como comentarios a tu archivo JSON.</p><p>Ahora veamos un ejemplo, iniciando con la siguiente información en nuestro archivo JSON:</p><pre><code class="language-json">{
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Ahora agreguemos otro par clave-valor (key-value) que servirá como nuestro comentario, lo podemos ver en la primera línea de código del siguiente ejemplo:</p><pre><code class="language-json">{
   "_comentario1": "esto es un comentario",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>A continuación, otro ejemplo. Esta vez, usaremos dos guiones bajos al inicio y al final de la clave (key).</p><pre><code class="language-json"> "__comentario2__": "esto es otro comentario",
</code></pre><p>Los guiones bajos ayudan a diferenciar el comentario del resto de nuestra información en el archivo JSON.</p><h3 id="solo-una-peque-a-advertencia">Solo una pequeña advertencia</h3><p>Solo hay un detalle importante a tener en cuenta.</p><p>Los comentarios que agregamos a nuestro archivo JSON están incluidos en el objeto JSON. En otras palabras, los comentarios son tratados como información.</p><p>Esto es a lo que nos referimos:</p><p>Este es el código en nuestro archivo, <strong><code>data.json</code></strong>:</p><pre><code class="language-json">{
   "_comentario1": "este es mi comentario",
   "sport": "basketball",
   "coach": "Joe Smith",
   "wins": 15,
   "losses": 5
}
</code></pre><p>Ahora vamos a leer la información del archivo, <strong><code>read_comments.py</code></strong>:</p><pre><code class="language-python">import json
with open("data.json", mode="r") as j_object:
   data = json.load(j_object)
print(data)
</code></pre><p>El resultado incluye nuestro comentario:</p><pre><code class="language-json">{'_comentario1': 'este es mi comentario', 'sport': 'basketball', 'coach': 'Joe Smith', 'wins': 15, 'losses': 5}
</code></pre><p>Incluso podemos extraer el valor del comentario del objeto JSON: <code>este es mi comentario</code>:</p><pre><code class="language-python">import json
 
with open("data.json", mode="r") as j_object:
   data = json.load(j_object)
   print(data["_comentario1"])
</code></pre><p>Ten en cuenta que el comentario solo es un comentario para el desarrollador—no para la computadora.</p><h3 id="un-tipo-diferente-de-comentario">Un tipo diferente de comentario</h3><p>Esta práctica de agregar comentarios en archivos JSON es diferente a los comentarios en los lenguajes clásicos de programación, tal es el caso de Python, donde es normal que los comentarios sean ignorados cuando se ejecute el programa.</p><pre><code class="language-python"># Este es mi comentario
word = "house"
for letter in word:
   print(letter)
</code></pre><p>Cuando ejecutamos el programa Python anterior, obtenemos las letras de la palabra, "house". Pero aquí no vemos el comentario, ya que es ignorado.</p><h2 id="otras-opciones-para-comentar">Otras opciones para comentar</h2><p><a href="https://www.crockford.com/jsmin.html">JSMin</a> es otra opción para considerar.</p><p>JSMin es una herramienta que elimina los espacios en blanco y los comentarios adicionales de archivos JavaScript. Pero esta también funciona en archivos JSON. JSMin elimina comentarios de archivos JSON antes de que sean analizados (parsed).</p><p>Así que, como ya vimos, existen algunas opciones cuando se trata de agregar comentarios en archivos JSON. A pesar de que no sean las mejores soluciones, al menos existe la forma de incluir documentación para cuando sea necesario.</p><p><em>Escribo sobre como aprender a programar y las mejores formas de hacerlo <em>(</em></em><a href="https://amymhaddad.com/" rel="noopener nofollow">amymhaddad.com</a>).</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
