上传CSV文件,并将其保存为.tmp文件夹在server&#t; / tmp文件夹中。遇到问题得到它的分隔符。它可能是&#39 ;;'或','。我如何从.tmp文件中检查这个?据我所知,它不能用tmp文件完成,所以我需要将其保存为.csv然后检查分隔符。这是唯一的方法吗?
答案 0 :(得分:0)
而不是重新发明轮子,重新使用现有的经过良好编写且经过良好测试的代码包......例如" CSV"来自The League of Extraordinary Packages。 CSV不仅具有很好的处理CSV文件的功能,还具有确定CSV文件中使用的分隔符的功能。例如:
use League\Csv\Reader;
$reader = Reader::createFromPath('/path/to/your/csv/file.csv');
$reader->setEnclosure('"');
$reader->setEscape('\\');
$delimiters_list = $reader->fetchDelimitersOccurrence([',',';','|'], 10);
这将查看.csv文件的前10行并计算它找到的分隔符的出现次数。如果$delimiters_list
为[','=>40, ';'=>0, '|'=>0]
,那么您知道它是一个始终使用,
作为其分隔符的CSV文件。
可以在Packagist.org中找到HERE的其他CSV套餐。