<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Felipe Barriga Richards &#187; cvs</title>
	<atom:link href="http://blog.felipebarriga.cl/tag/cvs/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.felipebarriga.cl</link>
	<description>Blog personal de Felipe Barriga Richards</description>
	<lastBuildDate>Sat, 17 Jul 2010 23:52:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Cargando datos PSU 2005 a MySQL</title>
		<link>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:29:03 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[psu]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=15</guid>
		<description><![CDATA[Muchos de los que tienen las famosas bases de datos robadas, sobre todo el archivo release1.tar que contiene el archivo ARCHIVO_B_2005.DAT no saben como cargar los datos en una base de datos. El problema radica en que son muchos campos y estan separados por largo fijo (flat file). Para poder cargarlos hice un script en [...]]]></description>
			<content:encoded><![CDATA[<p>Muchos de los que tienen las famosas bases de datos robadas, sobre todo el archivo <strong>release1.tar</strong> que contiene el archivo <strong>ARCHIVO_B_2005.DAT</strong> no saben como cargar los datos en una base de datos.<br />
El problema radica en que son muchos campos y estan separados por largo fijo (<a href="http://en.wikipedia.org/wiki/Flat_file_database">flat file</a>). Para poder cargarlos hice un script en php que se encarga de ir separandolos y crea un archivo <a href="http://en.wikipedia.org/wiki/Comma-separated_values">CSV</a>. Una vez generado el archivo, puede cargarse tranquilamente en <a href="http://www.mysql.com/">MySQL</a>.<br />
<span id="more-15"></span><br />
<strong>Paso 1</strong><br />
Convertir el charset del archivo:</p>

<div class="wp-terminal">felipe@funstation:$ iconv -f ISO-8859-1 -t UTF8 -o data.dat ARCHIVO_B_2005.DAT<br/></div>

<p><strong>Paso 2</strong><br />
Convertir el flat file en uno csv.<br />
<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/fix2csv.php_txt">Bajar este script</a> y ejecutarlo:</p>

<div class="wp-terminal">felipe@funstation:$ mv fix2csv.php_txt fix2csv.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -d memory_limit=256M -f fix2csv.php > psu.csv<br/></div>

<p><strong>Paso 3</strong><br />
Crear las tablas donde se almacenaran los registros.<br />
Obviamente para ocuparlas en algo serio tienen que cambiar los campos a los que corresponden. Para no calentarme la cabeza<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/generate_table.php_txt"> hice otro script en php</a> que saca los mismos datos que el script anterior y genera puros campos tipo ‘varchar’ con el largo especificado.</p>

<div class="wp-terminal">felipe@funstation:$ mv generate_table.php_txt generate_table.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -f generate_table.php > table.sql<br/></div>

<p>Archivo generado: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/table.sql">table.sql</a></p>
<p><strong>Paso 4</strong><br />
Los datos se cargan igual que como habia mencionado antes en <a href="http://blog.felipebarriga.cl/?p=26">otro post</a>. Como son muchos campos y nuevamente me da lata escribirlos a mano, <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/generate_load_csv.php_txt">hice un último script</a> que genera la linea necesaria para cargar los datos desde el csv:</p>

<div class="wp-terminal">felipe@funstation:$ mv generate_load_csv.php_txt generate_load_csv.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -f generate_load_csv.php > load.sql<br/></div>

<p>Archivo generado: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/load.sql">load.sql</a></p>
<p><strong>Paso 5</strong><br />
Ahora con los scripts listos solo queda ejecutarlos:</p>

<div class="wp-terminal">felipe@funstation:$ mysql -u usuario nombre_base_datos < table.sql<br/></div>


<div class="wp-terminal">felipe@funstation:$ mysql -u usuario nombre_base_datos < load.sql<br/></div>

<p><strong>Nota: En mi computador funciona perfecto, pero en el servidor algo pasa con el encoding que no puede leer bien los archivos utf8.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Restaurar Base de Datos desde CSV (MySQL)</title>
		<link>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/</link>
		<comments>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:26:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=26</guid>
		<description><![CDATA[Despues de obtener las Bases de Datos filtradas a Internet, decidi cargarlas a una Base de Datos MySQL (tiene soporte para fulltext index). Despues de crear las tablas con los scripts dados, se debe importar los CSV de la siguiente forma: LOAD DATA LOCAL INFILE 'mineduc.csv' INTO TABLE mineduc FIELDS TERMINATED BY ',' ENCLOSED BY [...]]]></description>
			<content:encoded><![CDATA[<p>Despues de obtener las Bases de Datos filtradas a Internet, decidi cargarlas a una Base de Datos MySQL (tiene soporte para fulltext index).<br />
Despues de crear las tablas con los scripts dados, se debe importar los CSV de la siguiente forma:</p>
<p><code><br />
LOAD DATA LOCAL INFILE 'mineduc.csv' INTO TABLE mineduc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (rut, nombre, establecimiento, jornada, tipo, estado);<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
