{"id":112,"date":"2020-06-05T19:45:24","date_gmt":"2020-06-05T17:45:24","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=112"},"modified":"2020-06-05T19:45:26","modified_gmt":"2020-06-05T17:45:26","slug":"ficheros-csv-escritura","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=112","title":{"rendered":"Ficheros csv (escritura)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">writer<\/h3>\n\n\n\n<p>Adem\u00e1s de poder leer el contenido de los ficheros csv, este m\u00f3dulo de Python tambi\u00e9n se puede usar para escribirlos. Para ello cuenta con el objeto <strong>writer<\/strong> el cual dispone de los m\u00e9todos <strong>writerow()<\/strong> y <strong>writerows()<\/strong> para hacerlo.<\/p>\n\n\n\n<p>El siguiente ejemplo utiliza el m\u00e9todo <strong>writerow()<\/strong>, al cual se le pasa un lista como argumento, esta lista debe contener todos los elementos de la fila que se escribir\u00e1 en el fichero csv. Previamente se ha de abrir un archivo en modo escritura usando el argumento <strong>&#8216;w&#8217;<\/strong> en el m\u00e9todo <strong>open()<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import csv\nfichero = open('perrosw.csv','w')\ndatos = csv.writer(fichero)\ndatos.writerow(['Raza','Tama\u00f1o'])\ndatos.writerow(['Dalmata','Grande'])\ndatos.writerow(['Basset Hound','Mediano'])\ndatos.writerow(['Border Collie','Mediano'])\ndatos.writerow(['Galgo Saluki','Grande'])\ndatos.writerow(['Husky Siberiano','Grande'])\ndatos.writerow(['Caniche','Peque\u00f1o'])\nfichero.close()<\/code><\/pre>\n\n\n\n<p>El resultado de ejecutar este c\u00f3digo es un fichero csv llamado <strong>perrosw.csv<\/strong> que contiene una fila con los nombres de los campos y seis l\u00edneas mas con los registros.<\/p>\n\n\n\n<p>El uso de <strong>writerows()<\/strong> es muy parecido, excepto que en este caso hay que incluir una lista de todas las listas de elementos que se quieren escribir en el archivo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import csv\nfichero = open('perrosw.csv','w')\ndatos = csv.writer(fichero)\ndatos.writerows([['Raza','Tama\u00f1o'],['Dalmata','Grande'],['Basset Hound','Mediano'],['Border Collie','Mediano'],['Galgo Saluki','Grande'],['Husky Siberiano','Grande'],['Caniche','Peque\u00f1o']])\nfichero.close()<\/code><\/pre>\n\n\n\n<p>Al igual que con el objeto reader, writer dispone de una serie de argumentos como son el delimitador de campo, el car\u00e1cter de comillas, o el dialecto.<\/p>\n\n\n\n<p>El siguiente ejemplo usa el dialecto unix y el resultado son los registros con comillas dobles.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import csv\nfichero = open('perrosw2.csv','w')\ndatos = csv.writer(fichero, dialect='unix')\ndatos.writerows([['Raza','Tama\u00f1o'],['Dalmata','Grande'],['Basset Hound','Mediano'],['Border Collie','Mediano'],['Galgo Saluki','Grande'],['Husky Siberiano','Grande'],['Caniche','Peque\u00f1o']])\nfichero.close()<\/code><\/pre>\n\n\n\n<p>Abriendo el archivo perrosw2.csv se puede observar la diferencia con el dialecto por defecto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">\"Raza\",\"Tama\u00f1o\"\n\"Dalmata\",\"Grande\"\n\"Basset Hound\",\"Mediano\"\n\"Border Collie\",\"Mediano\"\n\"Galgo Saluki\",\"Grande\"\n\"Husky Siberiano\",\"Grande\"\n\"Caniche\",\"Peque\u00f1o\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">DictWriter<\/h3>\n\n\n\n<p>El objeto DictWriter se usa para mapear un diccionario que contendr\u00e1 las l\u00edneas del fichero csv. El primer argumento que recibe es el nombre del fichero y el segundo los nombres de los campos.<\/p>\n\n\n\n<p>Para escribir los nombres de los campos en el fichero se usa el m\u00e9todo <strong>writeheader()<\/strong> y al m\u00e9todo <strong>writerrow()<\/strong> se le pasa un diccionario con el registro.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import csv\nfichero = open('perroswd.csv','w')\ndatos = csv.DictWriter(fichero,fieldnames=['Raza','Tama\u00f1o'])\ndatos.writeheader()\ndatos.writerow({'Raza':'Dalmata','Tama\u00f1o':'Grande'})\ndatos.writerow({'Raza':'Basset Hound','Tama\u00f1o':'Mediano'})\ndatos.writerow({'Raza':'Border Collie','Tama\u00f1o':'Mediano'})\ndatos.writerow({'Raza':'Galgo Saluki','Tama\u00f1o':'Grande'})\ndatos.writerow({'Raza':'Husky Siberiano','Tama\u00f1o':'Grande'})\ndatos.writerow({'Raza':'Caniche','Tama\u00f1o':'Peque\u00f1o'})\nfichero.close()<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>writer Adem\u00e1s de poder leer el contenido de los ficheros csv, este m\u00f3dulo de Python tambi\u00e9n se puede usar para &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,4],"tags":[52,34,2,6,53],"class_list":["post-112","post","type-post","status-publish","format-standard","hentry","category-csv","category-python","tag-csv","tag-ficheros","tag-python","tag-python3","tag-writer"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=112"}],"version-history":[{"count":1,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":113,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/112\/revisions\/113"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}