读取CSV值并在PHP中显示它们

时间:2018-01-22 作者:David

我正在进行一个项目,这是我第一次遇到CSV。我读了很多帖子,但没有找到我需要的。

所以我们有和CSV,值如下

Name,Country,Color,Pet
David,UK,Red,Dog
Andy,USA,Blue,Cat,Dog,Fish
...
所以有时“Pet”上有多个值,这就是客户端软件输出CSV的方式,我们无法更改它。我正在寻找如何在第n列之后合并列的解决方案。例如,在第6列之后,我需要将第7行的所有列合并到第7行。

这有可能实现吗?

我会粘贴我正在处理的代码,但这是我使用fgetcsv函数和输出表在线找到的示例。

此外,是否可以像渲染一样读取行而不是列?

任何帮助别人的人都会帮上大忙!

2 个回复
SO网友:majick

不太难真的。。。

$csvdata = file_get_contents($filepath);
$lines = explode("\\n", $csvdata); // split data by new lines
foreach ($lines as $i => $line) {
    $values = explode(\',\', $line); // split lines by commas
    // set values removing them as we ago
    $linevalues[$i][\'name\'] = trim($values[0]); unset($values[0]);
    $linevalues[$i][\'country\'] = trim($values[1]); unset($values[1]);
    $linevalues[$i][\'color\'] = trim($values[2]); unset($values[2]);
    // assign remaining columns (array)
    $linevalues[$i][\'pet\'] = array_values($values); 
}
print_r($linevalues); // see the result

SO网友:Yaroslav

您可以尝试使用php-parsecsv 图书馆

如果您在一个单元格中处理多个值(例如;Red;Green;Blue&引号;),由一些字符分隔,您需要将此单元格值转换为数组-查看:
https://packagist.org/packages/decss/item-parser

结束

相关推荐

在WordPress和WPML中创建Header.php重定向

我正在开发一个网站,我正在使用WPML在网站上创建不同的语言。我想根据用户所在国家/地区对其进行地理重定向。我在WPML中使用子目录,因此我有:www.mydomain。com公司www.mydomain。com/ie/www.mydomain。com/ca/我创建了一个脚本,它允许我获取IP并将一个国家的代码输入到一个变量中(this is what I\'m using), 我还用这个脚本创建了一个标题重定向。这就是我在函数中所做的。php文件:add_action (\'wp_loaded\', \