首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Lumenworks绕过逗号和双引号

如何使用Lumenworks绕过逗号和双引号
EN

Stack Overflow用户
提问于 2015-09-22 02:09:58
回答 1查看 892关注 0票数 1

我正在从数据库中获取csv格式的数据,即http://iapp250.dev.sx.com:5011/a.csv?select[>date]from employee

但是表中的一些列包含逗号和双引号,在读取csv之后,它变成了逗号分隔的string.As,当我反序列化它时,我得到了索引越界异常。

在阅读了一些帖子后,我决定使用Lumenworks csv阅读器。我继续使用下面的方法,但仍然无法修复it.Please。找到以下代码片段。

代码语言:javascript
复制
List<List<string>> LineFields = new List<List<string>>();
using(var reader = new StreamReader(siteminderresponse.getResponseStream())
{
 Char quotingCharacter = '\0'; 
        Char escapeCharacter = quotingCharacter;
        Char delimiter = '|';
        using (var csv = new CsvReader(reader, true, delimiter, quotingCharacter, escapeCharacter, '\0', ValueTrimmingOptions.All))
        {
            csv.DefaultParseErrorAction = ParseErrorAction.ThrowException;
            //csv.ParseError += csv_ParseError;  
            csv.SkipEmptyLines = true;

            while (csv.ReadNextRecord())
            {
                List<string> fields = new List<string>(csv.FieldCount);
                for (int i = 0; i < csv.FieldCount; i++)
                {
                    try
                    {
                        string field = csv[i];
                        fields.Add(field.Trim('"'));
                    } catch (MalformedCsvException ex)
                    {
                                                throw;
                    }
                }
 LineFields Add(fields);
            }
        }

}

最终结果是得到逗号分隔的字段,如下所示

代码语言:javascript
复制
1,16:00:01,BUY,-2,***ROBERTS, K***.

请看ROBERTS,K,它是一个单独的列值,现在是逗号分隔的,因为我的序列化失败。

EN

回答 1

Stack Overflow用户

发布于 2015-09-22 02:26:49

这似乎是您设置查询结果格式的方式存在问题。如果您希望CSV阅读器将"ROBERTS,K“作为单个字段读取,则需要在CSV阅读器的输入中使用引号将"ROBERTS,K”括起来。LumenWorks只是在做它应该做的事情。

同样,如果需要在解析的字段中使用文字双引号,则需要使用另一个双引号对其进行转义。因此,要正确地将其表示为单个字段:

Roberts, K is 6" taller than I am

...您需要将此代码传递给CSV解析器:

"Roberts, K is 6"" taller than I am"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32701906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档