Zaktualizuj tabelę MySQL danymi CSV zawierającymi wartości dosłowne w nieobsługiwanym formacie
Ktoś niedawno usunął pytanie, które moim zdaniem może być bardzo pomocne dla społeczności. Parafrazuję:
Otrzymuję plik CSV z Yahoo! Finance API, za pomocą którego chcę zaktualizować następującą tabelę MySQL:
CREATE TABLE yahoo.static (
symbol VARCHAR(10) NOT NULL,
exchange VARCHAR(200),
name VARCHAR(300),
capitalization DOUBLE,
div_pay_date DATE,
book_value DOUBLE,
float_shares BIGINT UNSIGNED,
PRIMARY KEY (symbol)
);
Plik CSV ma następujący format:
"AAUKF","AAUKF","Other OTC","AAUKF","ANGLO AMERICAN OR","AAUKF",29.271B,"AAUKF","26-Apr-12","AAUKF",26.69,"AAUKF", 1134107000
Szczególne problemy obejmują:
powtarzające się zbędne wartości;
przyrostki (np.K
, M
iB
), które wskazują rząd wielkości; i
daty nie sformatowane w obsługiwanym formacie dosłownym.
Jak mogę zaktualizować tabelę z takiego pliku CSV?