Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 转义.csv文件中的标点符号_Android_Csv - Fatal编程技术网

Android 转义.csv文件中的标点符号

Android 转义.csv文件中的标点符号,android,csv,Android,Csv,在我的Logger类中,它将所有错误、信息和调试消息写入.csv文件。我想记录一个包含标点符号的字符串。我有一个方法返回我当前的android版本,如下所示: public String getAndroidVersion() { androidVersion = android.os.Build.VERSION.RELEASE; return androidVersion; } Date;Level;Process;Message;AndroidVersio

在我的Logger类中,它将所有错误、信息和调试消息写入.csv文件。我想记录一个包含标点符号的字符串。我有一个方法返回我当前的android版本,如下所示:

public String getAndroidVersion() {
        androidVersion = android.os.Build.VERSION.RELEASE;
        return androidVersion; 
}
Date;Level;Process;Message;AndroidVersion
Mon Jan 07 13:37:51 CET 2013;INFO;Splash Screen;Application Started;"4.2.1"
Mon Jan 07 13:38:00 CET 2013;INFO;Bluetooth MessageHandler;Incomming file from VMw-1001500;"4.2.1"
Mon Jan 07 13:38:13 CET 2013;INFO;Bluetooth MessageHandler;File Received From VMw-1001500;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;socket closed;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;read failed, socket might closed, read ret: -1;"4.2.1"
日志的编码方式如下:

logToFile(String.format("%s;%s;%s;%s;%s\r\n", new Date().toString(), level,_processName, message, "\""+utils.getAndroidVersion()+"\""));
我希望最后一列包含安卓版本4.2.1,但它以某种方式将其转换为如下数据:
04.02.2001
。我知道方法
getAndroidVersion
的返回值是正确的。正如你在上面的例子中看到的那样,我试图避开这个角色

这里发生了什么,我是否使用了错误的转义字符

谢谢

编辑。当我在
notepad++
中打开.csv文件时,它看起来像这样:

public String getAndroidVersion() {
        androidVersion = android.os.Build.VERSION.RELEASE;
        return androidVersion; 
}
Date;Level;Process;Message;AndroidVersion
Mon Jan 07 13:37:51 CET 2013;INFO;Splash Screen;Application Started;"4.2.1"
Mon Jan 07 13:38:00 CET 2013;INFO;Bluetooth MessageHandler;Incomming file from VMw-1001500;"4.2.1"
Mon Jan 07 13:38:13 CET 2013;INFO;Bluetooth MessageHandler;File Received From VMw-1001500;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;socket closed;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;read failed, socket might closed, read ret: -1;"4.2.1"
看起来应该是这样,但是excel的.csv格式有什么问题吗

这是Excel的一个“功能”,它可以自动将看起来像日期的字符串解析为日期。你的CSV没有问题


我不知道如何在Excel中关闭该选项,但这个问题可能会帮助您:。我想当您导入CSV时,您可以“将日期列预格式化为文本”。YMMV.

您好,您可以在使用文本编辑器(如记事本)打开的csv文件中看到“04.02.2001”,或者在exel或open office中导入和解析csv文件时看到它?请检查我的编辑。Thank.CSV没有类型,因此您无法说明程序在导入时必须如何解释值。一种可能的方法是在导入后格式化列,或者将csv中的值转换为另一个不能作为数据的字符串。可能需要添加+或空格。我只是在版本号前面添加了一个“V”。问题已经解决了。谢谢