使用PHP将txt文件分离为多个csv文件

时间:2011-10-05 17:06:01

标签: php csv text-files

所以我能够将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)。

1 个答案:

答案 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文件。