gpt4 book ai didi

php - PHP读取CSV文件的问题

转载 作者:可可西里 更新时间:2023-10-31 23:59:54 24 4
gpt4 key购买 nike

我正在尝试从 a.csv 文件中读取数据以将其作为文本输出到网页上。

这是我第一次这样做,我遇到了一个讨厌的小问题。

我的 .csv 文件(默认情况下由 Excel 打开)有多行,我将整个文件作为一个长字符串读取。

像这样:

$contents = file_get_contents("files/data.csv");

在我制作的这个示例文件中,有 2 行。

Paul Blueberryroad 85 us Flashlight,Bag November 20, 2008, 4:39 pm

Hellen Blueberryroad 85 us lens13mm,Flashlight,Bag,ExtraBatteries November 20, 2008, 16:41:32

但是PHP读取的字符串是这样的:

Paul;Blueberryroad 85;us;Flashlight,Bag;November 20, 2008, 4:39 pmHellen;Blueberryroad 85;us;lens13mm,Flashlight,Bag,ExtraBatteries;November 20, 2008, 16:41:32

我将其拆分为:

list($name[], $street[], $country[], $accessories[], $orderdate[]) = split(";",$contents);

我想要的是 $name[] 包含“Paul”和“Hellen”作为其内容。其他数组接收各自列的值。

相反,我只得到 Paul 并且 $orderdate[] 的内容是

November 20, 2008, 4:39 pmHellen

所以所有的行都被连接起来了。有人可以告诉我如何实现我的需求吗?

编辑:找到解决方案,只剩下一件奇怪的事情:

我现在用这段代码解决了这个问题:

$fo = fopen("files/users.csv", "rb+");
while(!feof($fo)) {
$contents[] = fgetcsv($fo,0,';');
}
fclose($fo);

出于某种原因,虽然我的 CSV 文件只有 2 行,但它返回 2 个数组和 1 个 bool 值。前 2 个是我的数据数组, bool 值是 0。

最佳答案

你最好使用 fgetcsv()它了解 CSV 文件结构并指定了处理 CSV 文件的选项。或者,您可以使用 str_getcsv()而是在文件的内容上。

关于php - PHP读取CSV文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com