首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Php仅导入特定的CSV行

Php仅导入特定的CSV行
EN

Stack Overflow用户
提问于 2018-09-30 06:00:21
回答 1查看 0关注 0票数 0

我正在做一个php脚本,在db上上传一个CSV文件。问题是我有很多时间非常大的CSV超过1000行,但我只需要一个,特别是上周的一个(例如2018.07.01)。上传是使用表单进行的。

这是表格html

代码语言:javascript
复制
   <form action="home2.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
      UPLOAD CSV: <br /> 
     <input name="csv" type="file" id="csv" /> 
     <input type="submit" name="submit" value="Upload" /> 

这是我用来上传home2.php文件中所有csv的代码

代码语言:javascript
复制
if ($_FILES[csv][size] > 0) { 

   //get the csv file 
   $file = $_FILES[csv][tmp_name]; 
   $handle = fopen($file,"r"); 

           //loop through the csv file and insert into database 
     do { 
       if ($data[0]) { 
       mysqli_query($con,"INSERT INTO db (id, date, hour, open, max, min, close, volume) VALUES 
            ( 
                '', 
                '".addslashes($data[0])."', 
                '".addslashes($data[1])."', 
                '".addslashes($data[2])."', 
                '".addslashes($data[3])."', 
                '".addslashes($data[4])."', 
                '".addslashes($data[5])."', 
                '".addslashes($data[6])."' 
            ) 
        "); 
    } 
} while ($data = fgetcsv($handle,1000,",","'"));
EN

回答 1

Stack Overflow用户

发布于 2018-09-30 15:55:49

我希望这个代码能帮到你

代码语言:txt
复制
$dateFilter = "2018-07-07";

if ($_FILES[csv][size] > 0) {

    //get the csv file
    $file = $_FILES[csv][tmp_name];

    $csvData = file_get_contents($file);
    $lines = explode(PHP_EOL, $csvData);

    foreach ($lines as $line) {
        $lineArr = str_getcsv($line);

        if ($lineArr[0] == $dateFilter) {
            $slashesValues = array_map('addslashes', array_values($lineArr));

            mysqli_query($con, "INSERT INTO db (`date`, `hour`, `open`, `max`, `min`, `close`, `volume`) 
                                VALUES (implode(',', $slashesValues))");
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档