所以我能够将txt文件解析为csv文件
$data = array();
while ($line= fgets ($fh)) {
$stack = array($LAUS,$FIPS,$CountyName,$Date,$_CLF,$_EMP,$_UNEMP,$RATE);
array_push($data, $stack);
}
$file = fopen('file.csv','w');
foreach ($data as $fields) {
fputcsv($file, $fields,',','"');
}
fclose($file);
我的问题是,创建多个按月分隔的csv文件的最佳方法是什么(也是年份,如Jan01.csv,Jan02.csv)。
答案 0 :(得分:1)
我对你的日期格式进行了一些猜测
while ($line = fgets ($fh)) {
// Not sure where you're getting these values, but I'm assuming it's correct
$stack = array($LAUS,$FIPS,$CountyName,$Date,$_CLF,$_EMP,$_UNEMP,$RATE);
// Assuming $Date looks like this '2011-10-04 15:00:00'
$filename = date('My', strtotime($Date)) . '.csv';
$file = fopen($filename,'a+');
fputcsv($file, $stack,',','"');
fclose($file);
}
由于你不断打开和关闭文件,这会有点慢,但由于我不知道原始数据集的大小,所以我不想用尽所有内存来缓存结果它
请注意,多次运行此操作最终会将重复数据插入CSV文件。在运行此代码之前,您可能需要添加一些代码来删除/清除任何当前存在的CSV文件。