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

puq*_*uqt 4 ruby mysql csv

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

"Mary had a little so called \"lamb\"","34","none"
"something is not \"right\"","23","none"
Run Code Online (Sandbox Code Playgroud)

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

另外,如何将CSV插入MySQL?你需要使用像PHP的mysql_real_escape_string这样的东西吗?

Rob*_*ble 6

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

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