2016-04-09 22 views
1

ile csv dosyasını içe aktarma .csv dosyasını indirmem gerekiyor. 0 satır (lar) etkilenen Kayıtları: 0 Silinmiş: 0 Atlandı: 0 Uyarılar: Bu .csv dönüştürdüğünüzde 0.LOGO DATA INFILE

.txt ve kullanılmasını

LOAD DATA INFILE 'c:/tablename.csv' 
    INTO TABLE testtable 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    IGNORE 1 ROWS; 

Hiçbir şey döndürür: Bu kodu kullanmak txt için aynı kod - çalışır.

LOAD DATA INFILE 'c:/tablename.txt' 
    INTO TABLE testtable 
    FIELDS TERMINATED BY ';' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    IGNORE 1 ROWS; 

.csv ile ilgili sorun nedir? ',' Üzerinde ',' değiştirmeye çalıştım. ve '\ n' on '\ r \ n'. Çalışmıyor.

enter image description here

+0

siz "convert" ile ne demek istiyorsunuz? Az önce yeniden adlandırdın mı? Ya da başka bir şey? –

+0

Excel'de .csv dosyasını açtım ve "farklı kaydet ..." .txt dosyasını seçtim. Bu şekilde .txt dosyasına sahibim :) –

+0

Sorunuzu [değiştirebilir] ve hem .csv hem de .txt dosyasının bir bölümünü (ilk birkaç satır) gösterebilir misiniz? – PerlDuck

cevap

0

Ben sorunu yeniden yapamazsınız:

iki dosyadaki verileri ile üç sıra ilk bulunmaktadır.

file(1) - Linux Programcı Kılavuzu - Kullanıcı bir dosyanın satırları yerine Unix standardı LF arasında CR, CRLF veya NEL tarafından feshedilirse

... , bu olacak Komutları bildirildi. ...

mysql> SELECT VERSION(); 
+-----------+ 
| VERSION() | 
+-----------+ 
| 5.6.28 | 
+-----------+ 
1 row in set (0,00 sec) 

mysql> system file /path/to/file/tablename.csv 
/path/to/file/tablename.csv: ASCII text 

mysql> system cat /path/to/file/tablename.csv 
number;name;quantity 
255;Rick R;12 
256;John S;13 
257;Bryan W;14 

mysql> DROP TABLE IF EXISTS `testtable`; 
Query OK, 0 rows affected (0,00 sec) 

mysql> CREATE TABLE IF NOT EXISTS `testtable` (
    -> `number` INT UNSIGNED, 
    -> `name` VARCHAR(20), 
    -> `quantity` INT UNSIGNED 
    ->) DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci; 
Query OK, 0 rows affected (0,01 sec) 

mysql> LOAD DATA INFILE '/path/to/file/tablename.csv' 
    ->  INTO TABLE `testtable` 
    ->  FIELDS TERMINATED BY ';' ENCLOSED BY '"' 
    ->  LINES TERMINATED BY '\n' 
    ->  IGNORE 1 ROWS; 
Query OK, 3 rows affected (0,00 sec) 
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 

mysql> SELECT 
    -> `number`, 
    -> `name`, 
    -> `quantity` 
    -> FROM 
    -> `testtable`; 
+--------+---------+----------+ 
| number | name | quantity | 
+--------+---------+----------+ 
| 255 | Rick R |  12 | 
| 256 | John S |  13 | 
| 257 | Bryan W |  14 | 
+--------+---------+----------+ 
3 rows in set (0,00 sec) 
+0

Yanıtladığınız için teşekkür ederiz. Kodunuzu kopyaladım (ki bu da benimkiyle aynı) ve hala çalışmıyor :(Tablomuzla ilgili ne gibi bir problem olabilir? Belki diğer satır sonu karakterlerini denemeliyim? Başka ne olabilir? –

+0

@TeoRowersby: Sorun görünüyor. Dosyayı hangi işletim sistemi kullanıyorsunuz? – wchiquito

+0

Windows 7 kullanıyorum ve MySQL Workbench'te çalışıyorum –