创建CSV文件时,是否需要转义某些字符?

时间:2009-11-17 02:37:29

标签: mysql ruby csv

我正在从Ruby生成CSV文件。问题是列字符串将包含双引号,单引号。我怎么能逃避这些事情呢?

"Mary had a little so called \"lamb\"","34","none"
"something is not \"right\"","23","none"

每个列都用双引号括起来,后跟逗号(没有空格),并写入文件。

此外,如何将CSV插入MySQL?你需要使用PHP的mysql_real_escape_string吗?

2 个答案:

答案 0 :(得分:6)

编写CSV数据很简单,最简单的方法是用双引号替换双引号的每个实例,然后用双引号括起整个事物。或者,如果您的数据不包含双引号,逗号,回车符,换行符或前导/尾随空格,则不必使用引号括起数据或担心转义。您可以找到更多信息here

解析CSV要复杂得多,特别是如果您尝试处理各种形式的格式错误的数据,在这种情况下,您几乎肯定想要使用现有模块。

答案 1 :(得分:2)

使用FasterCSV。不要滚动自己的CSV代。

http://fastercsv.rubyforge.org/