如何处理特殊字符在CSV文件中
问题描述:
我在我的应用程序问题中创建csv文件我面临的是,虽然编写正常代码来创建csv文件我能够管理新行字符,但无法处理(,)在内容,如果我使用的是opencsv库,它将处理(,),但如果字符串中有新的行字符,则会将所有内容留在\ n旁边。请建议如何处理它。如何处理特殊字符在CSV文件中
while (cursor.moveToNext())
{
String _address=cursor.getString(cursor.getColumnIndexOrThrow("address"));
if(_address!=null)
writer.append(_address);
else
writer.append("Unknown");
writer.append(',');
String _body=cursor.getString(cursor.getColumnIndexOrThrow("body"));
if(_body.contains("\n"))
_body=_body.replace("\n", "\\n");
if(_body!=null)
writer.append('"'+_body+'"');
else
writer.append("");
writer.append(',');
String _IsRead=cursor.getString(cursor.getColumnIndexOrThrow("read"));
writer.append(_IsRead);
writer.append(',');
String SmsDate = cursor.getString(cursor.getColumnIndexOrThrow("date"));
writer.append(SmsDate);
writer.append(',');
// writer.append(cursor.getString(cursor.getColumnIndexOrThrow("type")));
if (cursor.getString(cursor.getColumnIndexOrThrow("type")).contains("1"))
writer.append("Inbox");
else
writer.append("Sent");
writer.append('\n');
}
答
为什么不这样做的Excel做什么:
- 如果有双引号,然后再添一个。
- 每个项目都用双引号。
答
您可以在将数据写入CSV文件之前对其进行预处理。 字符','可以替换为'〜'之类的字符或任何其他字符,数据发生的概率非常小。这不是一个傻瓜证明的解决方案,但完成工作。
这是一个坏主意 – Supreet 2013-04-05 10:38:17
也许你可以把数据写成'\ n'分隔的文本文件,就像任何其他文件一样,那么就不会有任何问题。 – Kishore 2013-04-05 10:59:22