【问题标题】:Parsing a non-excel excel file解析非excel excel文件
【发布时间】:2015-03-14 19:09:31
【问题描述】:

所以我有了获取信息的方法。这部分并不难:

    <?php
$aid = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_Aid_Stats_3132015520002.zipl);
$war = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_War_Stats_3132015525002.zip);
$nation = file_get_contents(http://www.cybernations.net/assets/CyberNations_SE_Nation_Stats_3132015510002.zip);
?>

我遇到了很多麻烦,就是弄清楚如何获取这些信息并将其解析为我想要的。这是一个保存为 .txt 的 excel 文件,我需要做的是抓取列并将它们放入 SQL 表中。不过,一旦有了这些列,我就可以处理 SQL 部分了。

【问题讨论】:

    标签: php import-from-excel


    【解决方案1】:

    使用 substr($aid, 0, strpos($aid, "\n")) 之类的内容获取 csv 的第一行。

    strpos($aid, "\n") 将查找第一次出现的换行符 (\n)。然后获取从字符串开头到该字符的子字符串,这将返回字符串的第一行。

    从那里您可以使用explode() 使用文件中存在的管道分隔符将字符串拆分为列名数组。

    例子:

    <?php
    
        $aid = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_Aid_Stats_3132015520002.zip');
        $war = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_War_Stats_3132015525002.zip');
        $nation = file_get_contents('http://www.cybernations.net/assets/CyberNations_SE_Nation_Stats_3132015510002.zip');
    
        $aid_columns = array_filter(explode("|", substr($aid, 0, strpos($aid, "\n"))));
    ?>
    

    array_filter 将删除所有空格(因为您的列以竖线分隔符结尾),这样您就不会在结果数组中出现“空”列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      相关资源
      最近更新 更多