John:

I´m new to MySQL but I hope this could help.
Please read below.

Regards from Costa Rica

-----Mensaje original-----
De: John Mistler [mailto:[EMAIL PROTECTED] 
Enviado el: Martes, 06 de Julio de 2004 09:55 p.m.
Para: [EMAIL PROTECTED]
Asunto: Re: DBF to MySQL

For some reason, the imported information showed up as garbled nonsense.
The file I was importing was an .xls file.  Do you know if there is another
"TERMINATED BY" I should be using?  If not, I wonder how I can find out?


A/
I think you could export your xls file into a comma separated value file (CSV). In 
excel File/Save as/CSV then with the Notepad you can delete the first line of the csv 
file (if there are column headers in your xls file).

For example if your xls file is like

Year  Number    Date       Total          Unit ID              Unit Name
2003    9253       05/05/2003 -36.365,00    3202           Unidad Programación
2003    9030       06/03/2003   1           4201           Depto. Consumidores
2003    9055       14/03/2003  3.000,00     7020         Proyecto de Distribución 
2003    9798       26/08/2003  3.000,00     3210        Sección Transportes y Taller

your csv file will be:

Year;Number;Date;Total;Unit ID;Unit Name
2003;9253;05/05/2003;-36.365,00;3202;Unidad Programación
2003;9030;06/03/2003;1;4201;Depto. Consumidores
2003;9055;14/03/2003;3.000,00;7020;Proyecto de Distribución Subterránea
2003;9798;26/08/2003;3.000,00;3210;Sección Transportes y Taller

If you delete the first row (headers) you will have only the raw data
Then you could save your file as a txt (but I think any extension should work)

Then

LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE mytable
FIELDS TERMINATED BY ';' ENCLOSED BY ''
LINES TERMINATED BY '\n';

I think you could left out the clause ENCLOSED BY '' because this is the default
 
Also, please note:

1)      If LOCAL is specified, the file is read by the client program on the           
 client host and sent to the server. 
        If LOCAL is not specified, the file must be located on the server host  and is 
read directly by the server.

2)      If you have generated the text file on a Windows system, you might      have 
to use LINES TERMINATED BY '\r\n' to read the file properly,       because Windows 
programs typically use two characters as a line         terminator. Some programs, 
such as WordPad, might use \r as a line      terminator when writing files. To read 
such files, use LINES    TERMINATED BY '\r'.



The other question I have is:  do I have to create a table within the MySQL
database with exactly the right number of columns ahead of time for the
import to work? - this is what I did.  If so, is there a way to import info
from a .dbf or .xls file without knowing the structure of the table ahead of
time?

A/

As far as I know you need to know the table´s structure in advance.

>From the mysql manual:

By default, when no column list is provided at the end of the LOAD DATA INFILE 
statement, input lines are expected to contain a field for each table column. If you 
want to load only some of a table's columns, specify a column list: 

mysql> LOAD DATA INFILE 'persondata.txt'

The whole history is in:
http://dev.mysql.com/doc/mysql/en/LOAD_DATA.html

Thanks,

John

on 7/6/04 3:59 PM, Chinchilla Zúñiga, Guillermo at [EMAIL PROTECTED]
wrote:

> Try, for example:
> 
> LOAD DATA INFILE 'myfile.cdf' INTO TABLE mytable
> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
> LINES TERMINATED BY '\n';
> 
> 
> -----Mensaje original-----
> De: John Mistler [mailto:[EMAIL PROTECTED]
> Enviado el: Martes, 06 de Julio de 2004 04:51 p.m.
> Para: [EMAIL PROTECTED]
> Asunto: DBF to MySQL
> 
> I am wanting to parse the info in a .dbf file (or .xls file for that matter)
> and place it in a table in a MySQL database.  Is this something that I can
> do with the server side MySQL application, or do I need to figure out a way
> to do it on the client side?  Any description of the method would be very
> welcome!
> 
> For what it is worth, I am a Mac OSX.3 user.
> 
> Thanks,
> 
> John
> 


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to