使用PHP创建CSV文件
我想创建一个新的.csv文件,而不首先通过打开原始文件。 到目前为止,我已经尝试过:使用PHP创建CSV文件,php,csv,export-to-csv,Php,Csv,Export To Csv,我想创建一个新的.csv文件,而不首先通过打开原始文件。 到目前为止,我已经尝试过: $list[] = array ( "Name" => "John", "Gender" => "M", "Age" => "21" ); $timestamp0 = date("Y-m-d H:i:sa", time()); $d
$list[] = array
(
"Name" => "John",
"Gender" => "M",
"Age" => "21"
);
$timestamp0 = date("Y-m-d H:i:sa", time());
$datetime = new DateTime($timestamp0);
$datetime->setTimezone(new DateTimeZone('Asia/Jakarta'));
$timestamp = $datetime->format("Y-m-d_H-i");
$filename = __DIR__ . "/file/" . $timestamp . ".csv";
$header = array("name", "gender", "age");
file_put_contents($filename, implode("\n", $list)); // error here bcs array given :')
我的问题是:
如何将阵列2d更改为csv?
非常需要您的帮助:非常感谢:如果不存在,则使用w将创建文件:
$list = [
["Name" => "John", "Gender" => "M"],
["Name" => "Doe", "Gender" => "M"],
["Name" => "Sara", "Gender" => "F"]
];
$fp = fopen($filename, 'w');
//Write the header
fputcsv($fp, array_keys($list[0]));
//Write fields
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
如果您不喜欢,可以使用以下替代方案:
$list = [
["Name" => "John", "Gender" => "M"],
["Name" => "Doe", "Gender" => "M"],
["Name" => "Sara", "Gender" => "F"]
];
$csvArray = ["header" => implode (",", array_keys($list[0]))] + array_map(function($item) {
return implode (",", $item);
}, $list);
file_put_contents($filename, implode ("\n", $csvArray));
我希望这将对您有所帮助。使用with w将创建不存在的文件:
$list = [
["Name" => "John", "Gender" => "M"],
["Name" => "Doe", "Gender" => "M"],
["Name" => "Sara", "Gender" => "F"]
];
$fp = fopen($filename, 'w');
//Write the header
fputcsv($fp, array_keys($list[0]));
//Write fields
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
如果您不喜欢,可以使用以下替代方案:
$list = [
["Name" => "John", "Gender" => "M"],
["Name" => "Doe", "Gender" => "M"],
["Name" => "Sara", "Gender" => "F"]
];
$csvArray = ["header" => implode (",", array_keys($list[0]))] + array_map(function($item) {
return implode (",", $item);
}, $list);
file_put_contents($filename, implode ("\n", $csvArray));
我希望这将对您有所帮助。您可以使用以下代码
$list[]=array ("name","gender","age"); // push header here
$list[] = array("John","M","21"); // push record here
$timestamp0 = date("Y-m-d H:i:sa",time());
$datetime = new DateTime($timestamp0);
$datetime->setTimezone(new DateTimeZone('Asia/Jakarta'));
$timestamp = $datetime->format("Y-m-d_H-i");
$filename = __DIR__ . "/file/" . $timestamp . ".csv";
$fp = fopen($filename, 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
有关更多详细信息,请阅读关于CSV文件的php手册 您可以使用以下代码
$list[]=array ("name","gender","age"); // push header here
$list[] = array("John","M","21"); // push record here
$timestamp0 = date("Y-m-d H:i:sa",time());
$datetime = new DateTime($timestamp0);
$datetime->setTimezone(new DateTimeZone('Asia/Jakarta'));
$timestamp = $datetime->format("Y-m-d_H-i");
$filename = __DIR__ . "/file/" . $timestamp . ".csv";
$fp = fopen($filename, 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
有关更多详细信息,请阅读关于CSV文件的php手册 对不起,忘了更改,我正在使用多维数组,我该怎么办?:'只要用你的数组更新问题,我会帮助你找到更好的选择@ismail RBOUH,-1因为它不是创建CSV文件的完美方式@HareshVidja我还在等你取消否决票!因为OP请求不使用open和fputcsv。然而,我已经为未来的用户更新了答案;非常感谢。你们第一次并没有给出完美的解决方案,所以我放弃了投票。。。你必须首先考虑给出完美的解决方案。。。谢谢:我很抱歉忘记更改,我使用多维数组,我该怎么办?:'只要用你的数组更新问题,我会帮助你找到更好的选择@ismail RBOUH,-1因为它不是创建CSV文件的完美方式@HareshVidja我还在等你取消否决票!因为OP请求不使用open和fputcsv。然而,我已经为未来的用户更新了答案;非常感谢。你们第一次并没有给出完美的解决方案,所以我放弃了投票。。。你必须首先考虑给出完美的解决方案。。。谢谢: