将csv数据与php合并?
有许多类似以下的将csv数据与php合并?,php,Php,有许多类似以下的CSV文件:a.CSV,b.CSV,aab.CSV等 它们具有相同的列和标题。现在我想把所有csv数据放入whole.csv。只有一个标题。我怎么做 a.csv数据: header1 title post..... test who posand header1 title post..... head she pnow b.csv数据: header1 title post..... test who posand header1 title po
CSV
文件:a.CSV
,b.CSV
,aab.CSV
等
它们具有相同的列和标题。现在我想把所有csv数据放入whole.csv
。只有一个标题。我怎么做
a.csv
数据:
header1 title post.....
test who posand
header1 title post.....
head she pnow
b.csv
数据:
header1 title post.....
test who posand
header1 title post.....
head she pnow
等等
整个.csv将包含所有csv数据。
例如:
我尝试了以下代码,但没有得到我想要的:
$csvs = glob("*.csv");
foreach($csvs as $csv) {
$row = 1;
if (($handle = fopen($csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$fp = fopen("whole.csv", 'w');
fputcsv($fp, $data);
$row++;
}
fclose($handle);
}
}
我已将所有CSV文件放在同一目录中 对于每个输入csv文件,您将以写入模式打开生成的csv文件:
$fp = fopen("whole.csv", 'w');
这会擦除整个.csv的内容
您只需在循环外打开整个.csv文件一次,然后继续写入
$csvs = glob("*.csv");
$fp = fopen("whole.csv", 'w');
foreach($csvs as $csv) {
$row = 1;
if (($handle = fopen($csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
fputcsv($fp, $data);
$row++;
}
fclose($handle);
}
}
对于每个输入csv文件,您将以写入模式打开生成的csv文件:
$fp = fopen("whole.csv", 'w');
这会擦除整个.csv的内容
您只需在循环外打开整个.csv文件一次,然后继续写入
$csvs = glob("*.csv");
$fp = fopen("whole.csv", 'w');
foreach($csvs as $csv) {
$row = 1;
if (($handle = fopen($csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
fputcsv($fp, $data);
$row++;
}
fclose($handle);
}
}
请查看
文件内容
您将打开每个CSV文件,然后使用
file\u put\u contents
传递whole.CSV
作为$filename
参数,将文件句柄设置为$data
参数,并使用file\u APPEND
标志通知它追加内容而不是覆盖。查看文件\u put\u内容
您将打开每个CSV文件,然后使用file\u put\u contents
传递whole.CSV
作为$filename
参数,文件句柄作为$data
参数,并使用file\u APPEND
标志告诉它追加内容而不是覆盖。代码中是否存在一些错误。它显示了致命错误:超过了30秒的最大执行时间。我只使用四个csv文件测试它。这些csv文件中有多少行?它们的大小是多少?代码中是否存在一些错误。它显示了致命错误:超过了30秒的最大执行时间。我只使用四个csv文件测试它。这些csv文件中有多少行?它们的尺寸是多少?