[英]Upload CSV file to mysql from external URL
例如,我有一個來自Google工作表的URL,該工作表將工作表導出到CSV文件:
https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
我想要某種機制來處理外部CSV文件,以將其插入MySQL的表中。
我對從哪里開始沒有絲毫想法。
更新25/03/2019:這是我的最新進展,這要歸功於一些答案! 我仍然必須將CSV導入MySQL。
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
$array = str_getcsv(file_get_contents("https://docs.google.com/spreadsheets/...."));
var_dump($array);
$name = tempnam('/','csv');
$fp = fopen($name, 'w');
// $array = str_replace('"', '', $array);
fputs($fp, implode($array, ',')."\n");
$sql = "DELETE FROM conceptos";
$result = $conn->query($sql);
$sql = "LOAD DATA LOCAL
INFILE '$name' INTO TABLE conceptos FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES";
fclose($fp);
?>
我現在正在創建一個臨時文件以嘗試使用LOAD DATA,但是我遇到了其他錯誤,例如找不到文件,我只能從命令行看到此錯誤,而不能直接從我的php代碼看到。
對我來說,這聽起來像3步。
像這樣解析:
<?php
$Data = str_getcsv($CsvString, "\n"); //parse the rows
foreach($Data as &$Row) $Row = str_getcsv($Row, ";"); //parse the items in rows
?>
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.