Php 读取CSV行和分隔符->;每秒钟读取并拆分一个元素

Php 读取CSV行和分隔符->;每秒钟读取并拆分一个元素,php,csv,Php,Csv,我有这样一个csv: A,1 B,2 C,3 D,4 e,5 ... 如何在每一行之前添加“,”,然后在每一秒的元素之后分割文件 因此,我得到: A、B、C、D、E。。。在一个文件和 1,2,3,4,5。。。在另一个 我得到了fopen、fgetcsv和fputcsv——但介于两者之间?小文件,只需按照建议将其放入数组中即可 大文件? 然后在此处阅读如何打开大文件: 使用1.3GB文件和9.5GB文件进行了2次测试 1.3 GB 使用fopen() 该过程使用15555 ms进行计算 它在系

我有这样一个csv:

A,1
B,2
C,3
D,4
e,5
...
如何在每一行之前添加“,”,然后在每一秒的元素之后分割文件

因此,我得到:
A、B、C、D、E
。。。在一个文件和
1,2,3,4,5
。。。在另一个


我得到了fopen、fgetcsv和fputcsv——但介于两者之间?

小文件,只需按照建议将其放入数组中即可

大文件? 然后在此处阅读如何打开大文件:

使用1.3GB文件和9.5GB文件进行了2次测试

1.3 GB

使用fopen()

该过程使用15555 ms进行计算

它在系统调用中花费了169毫秒

使用文件()

该过程使用6983 ms进行计算

它在系统调用中花费了4469毫秒

9.5 GB

使用fopen()

该过程使用113559 ms进行计算

它在系统调用中花费了2532毫秒

使用文件()

该过程使用8221 ms进行计算

它在系统调用中花费了7998毫秒

似乎file()更快

现在逐行处理文件。对于每一行,只需使用:

$linearr = explode(",",$line);
现在将
$line[0]
添加到输出文件1的末尾,并将
$line[1]
添加到输出文件2的末尾

此处描述了两种进行追加的方法:


只需在二维数组中读取整个内容,然后使用array_column…并将生成的两个数组写回单独的文件中。除非文件太大并耗尽了您的内存限制,否则为什么要在每一行之前附加逗号?有点困惑!!您的so that I get:示例似乎与您的要求不匹配如何在每一行之前添加一个“,”,然后在每一秒之后拆分文件element@Lulceltech:是的,你说得对!
$txt = "user id date";  
$myfile = file_put_contents('logs.txt',$txt.PHP_EOL , FILE_APPEND | LOCK_EX);
$myfile = fopen("logs.txt", "a") or die("Unable to open file!"); 
$txt = "user id date"; 
fwrite($myfile, "\n". $txt); 
fclose($myfile);