Javascript 从外部URL将CSV文件上载到mysql

Javascript 从外部URL将CSV文件上载到mysql,javascript,php,mysql,google-sheets,Javascript,Php,Mysql,Google Sheets,例如,我有一个来自google sheets的url,可以将工作表导出到CSV文件: https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name} 我需要某种机制来处理外部CSV文件以插入MySQL中的表中 我一点也不知道从哪里开始 2019年3月25日更新:这是我最近的进步,感谢一些答案!我仍然需要将CSV导入MySQL <?php $conn = new mysqli($se

例如,我有一个来自google sheets的url,可以将工作表导出到CSV文件:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}
我需要某种机制来处理外部CSV文件以插入MySQL中的表中

我一点也不知道从哪里开始

2019年3月25日更新:这是我最近的进步,感谢一些答案!我仍然需要将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);

?>

对我来说,这听起来像是三个步骤

  • 查询URL并将结果读入字符串变量。(见此处:)
  • 解析包含CSV数据的字符串(请参见此处:)
  • 插入MySQL数据库(请参见此处:)
  • 像这样解析:

    <?php 
    $Data = str_getcsv($CsvString, "\n"); //parse the rows 
    foreach($Data as &$Row) $Row = str_getcsv($Row, ";"); //parse the items in rows 
    ?>
    
    
    

    祝你好运

    这个文件来自一个外部url,直接解析成php插入到一个表中。我还没有找到从哪里开始的答案。下载有效吗?您可能不希望实际创建本地文件,而是打开到数据库的连接并直接在那里写入。但如果你能在没有身份验证的情况下打开电子表格,我会很惊讶。如果您没有看到错误,那么现在需要做的第一步就是更改PHP错误设置,以绝对显示每个错误。否则你就瞎了。你是对的,前两个步骤在一行中被解析为str_getcsv(file_get_contents(“{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}”);现在我被困在第3步。请看我的编辑,如果您像这样解析,您将迭代csv的行,每行有$Row数组。然后,只需为每一行执行一条insert语句。