相关疑难解决方法(0)

如何使用PHP和fgetcsv函数从CSV文件创建数组

有人可以使用fgetcsv提供从CSV文件创建数组的代码吗?

我使用以下代码从一个简单的CSV文件创建一个数组,但是当我的一个字段有多个逗号(例如地址)时,它无法正常工作.

$lines =file('CSV Address.csv');

foreach($lines as $data)
{
list($name[],$address[],$status[])
= explode(',',$data);
}
Run Code Online (Sandbox Code Playgroud)

*此外,我的托管服务不支持str_getcsv.

以上代码不适用于以下CSV文件示例.第一列是名称,第二列是地址,第三列是婚姻状态.

Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single
Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single
Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married
Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married
Ryan V. Turner,"123 Main Street, Bethesda, Maryland 20816",Single
Run Code Online (Sandbox Code Playgroud)

php csv arrays

91
推荐指数
7
解决办法
25万
查看次数

使用php str_getcsv函数将csv文件数据转换为数组

我有使用fputcsv创建的字符串

Date,Name,Hours 2013-01-02,"Test User",7:59 2013-01-03,"Test User",7:53 2013-01-04,"Test User",8:12 2013-01-07,"Test User",7:56 2013-01-08,"Test User",8:25 2013-01-09,"Test User",7:56 2013-01-10,"Test User",8:10 2013-01-11,"Test User",7:53 2013-01-14,"Test User",7:54 2013-01-15,"Test User",0:34 2013-04-01,"Test User",5:51 2013-04-02,"Test User",8:50 2013-04-03,"Test User",7:25 2013-04-04,"Test User",8:3 2013-04-05,"Test User","10:42:52[Not punch out]" ,Total,103:1
Run Code Online (Sandbox Code Playgroud)

当正确的标题(标题('Content-type:application/csv');标题('Content-Disposition:attachment; filename ="'.$ filename.'"');)被设置时,它会给出正确的csv文件.

使用php str_getcsv将csv文件数据转换为数组

但是我想再次将这个字符串转换为数组格式,所以我尝试将上面的字符串传递给str_getcsv但是得到像这样的数组

Array
(
    [0] => Date
    [1] => Name
    [2] => Hours
2013-01-02
    [3] => "Allen Herrera"
    [4] => 7:59
2013-01-03
    [5] => "Allen Herrera"
    [6] => 7:53
2013-01-04
    [7] => "Allen Herrera"
    [8] => 8:12
2013-01-07 …
Run Code Online (Sandbox Code Playgroud)

php arrays loops fgetcsv fputcsv

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×2

php ×2

csv ×1

fgetcsv ×1

fputcsv ×1

loops ×1