Php 如何在CSV文件中使用换行符?

Php 如何在CSV文件中使用换行符?,php,excel,csv,Php,Excel,Csv,我有一个excel文件,我把它转换成CSV,这样它就可以用PHP解析。但是,由于某些原因,excel中的单元格只有回车符(\r)而没有换行符(\n)。我需要csv中的换行符,否则PHP会在一行中解析所有内容,这是不应该的 有没有办法将换行符添加到excel/csv文件 谢谢 编辑:似乎我将文件导出为错误的csv—我没有执行Windows逗号分隔操作。谢谢你们的回答 有很多方法可以解决这个问题。在PHP中,一个简单的方法是在处理之前将\r替换为\n: // Load the whole data

我有一个excel文件,我把它转换成CSV,这样它就可以用PHP解析。但是,由于某些原因,excel中的单元格只有回车符(\r)而没有换行符(\n)。我需要csv中的换行符,否则PHP会在一行中解析所有内容,这是不应该的

有没有办法将换行符添加到excel/csv文件

谢谢


编辑:似乎我将文件导出为错误的csv—我没有执行Windows逗号分隔操作。谢谢你们的回答

有很多方法可以解决这个问题。在PHP中,一个简单的方法是在处理之前将
\r
替换为
\n

// Load the whole data file as a string
$data = file_get_contents("yourcsv.csv");
$data = str_replace("\r","\n", $data);

// use str_getcsv() in PHP 5.3+ to parse it to an array
$csv_array = str_getcsv($data);

有很多方法可以解决这个问题。在PHP中,一个简单的方法是在处理之前将
\r
替换为
\n

// Load the whole data file as a string
$data = file_get_contents("yourcsv.csv");
$data = str_replace("\r","\n", $data);

// use str_getcsv() in PHP 5.3+ to parse it to an array
$csv_array = str_getcsv($data);

在读取CSV文件之前,请执行以下操作:

ini_set('auto_detect_line_endings', true);
然后在读取文件后立即将其设置为
false

从:

这使PHP能够与Macintosh系统进行互操作,但默认情况下是这样的 关闭,因为检测时性能损失很小 第一行的EOL约定,也因为人们使用 在Unix系统下,回车符将作为项目分隔符返回 体验不向后兼容的行为


在读取CSV文件之前,请执行以下操作:

ini_set('auto_detect_line_endings', true);
然后在读取文件后立即将其设置为
false

从:

这使PHP能够与Macintosh系统进行互操作,但默认情况下是这样的 关闭,因为检测时性能损失很小 第一行的EOL约定,也因为人们使用 在Unix系统下,回车符将作为项目分隔符返回 体验不向后兼容的行为


在解析文件/内容之前,用
\n
替换文件/内容中的所有
\r
怎么样?不应该这样。我刚刚用Excel导出了一个CSV文件,它的行之间用换行符隔开。您如何将Excel文件转换为CSV?在解析之前,如何将文件/内容中的所有
\r
替换为
\n
?不应该这样。我刚刚用Excel导出了一个CSV文件,它的行之间用换行符隔开。您如何将Excel文件转换为CSV?