我目前有一个字符串生成器,用于导出到csv文件。CSV文件中导出的值在somw值中包含逗号。
有时,数据包含一个“,”导致其生成错误。
public string ExportActionMapAsCsv()
{
StringBuilder builder = new StringBuilder(",");
List<EggEmbryoActivity> actions = GetActions();
List<EggStatusActionMap> actionMaps = GetActionMaps();
builder.AppendLine(string.Join(",", actions.Select(x => x.Title)));
foreach (EggStatusActionMap actionMap in actionMaps)
{
builder.Append(actionMap.StatusDescription);
builder.Append(",");
builder.AppendLine(string.Join(",", actionMap.ActionMaskAsBinary.PadLeft(actions.Count, '0').ToCharArray()));
}
return builder.ToString();
}
这会生成导出,但如何在一列中显示带有逗号的数据
需要在字符串中添加引号,以便使用逗号
foreach (EggStatusActionMap actionMap in actionMaps)
{
builder.Append("\"" + neutralizeInput(actionMap.StatusDescription) + "\"");
builder.Append(",");
builder.AppendLine("\"" + neutralizeInput(string.Join(",", actionMap.ActionMaskAsBinary.PadLeft(actions.Count, '0').ToCharArray())) + "\"");
}
private string neutralizeInput(string input){
return input.replace("\"", "\"\"")
}
我非常倾向于创建一个将字符串转换为有效CSV字段的扩展方法。
如果字段包含逗号或双引号,则必须用双引号括起来,并且任何双引号都必须在字符串中重复。
下面是扩展方法:
public static class Ex
{
public static string ToCsvSafeField(this string field) =>
(field.Contains(',') || field.Contains('"'))
? $"\"{field.Replace("\"", "\"\"")}\""
: field;
}
然后我会像这样重写代码:
foreach (EggStatusActionMap actionMap in actionMaps)
{
var items =
actionMap
.ActionMaskAsBinary
.PadLeft(actions.Count, '0')
.ToCharArray()
.Select(x => x.ToString().ToCsvSafeField())
.StartWith(actionMap.StatusDescription.ToCsvSafeField());
builder.AppendLine(string.Join(",", items));
}
问题内容: 我有一些特殊字符的字符串。目的是检索每行的String [](分隔)。您可以使用特殊字符“,在其中可以使用/ n和, 您会看到“ /”中有您/ n。 任何可以帮助我解析此。 谢谢 __更多说明 与主刺我需要分开这些 问题是:对于Julie,KameL,Titi ,在KameL和Titi之间存在换行符/ n,或者在Time,tomy,tony,tini之间存在类似的换行问题,或者 在to
问题内容: 我有以下类型的字符串 我想将字符串拆分为每个逗号的数组,但仅将单引号之外的逗号分隔。 我想不出正确的正则表达式进行拆分… 会给我 但结果应该是: 有什么跨浏览器解决方案? 问题答案: 免责声明 以下答案仅适用于一种非常特定的CSV格式。正如DG在评论中正确指出的那样,此解决方案不适合RFC 4180定义的CSV,也不适合MSExcel格式。此解决方案仅演示了如何解析一个(非标准)CSV
我一直在尝试将csv文件(包含空字段)导入数据库,方法是使用文件选择器选择该文件。使用filechooser很重要,因为它是学校使用的一个程序,他们希望能够通过导入自己拥有的excel/csv文件,每年导入新的学生记录。每当我运行下面给出的代码时,都会出现以下错误: 我想问题是显而易见的。我如何使它在没有错误的情况下工作? 进口商类: 按下导入按钮时的GUI代码: 存储库中的代码: 我尝试以这种方
我正试图找到一种更好的方法将数据写入csv文件。现在,每个循环迭代都会将标题和数据附加到文件中,如下所示 我想修改我的逻辑,以便我只得到像这样的数据。 任何关于我可以改变的建议都非常感谢。谢啦
我需要解析一个一列的CSV文件,它不仅有额外的逗号,而且一些名称还包括额外的引号。我已经看过了,并阅读了之前的其他问题,最好的答案之一是阿钦蒂亚·杰哈的答案。然而,这种解决方案似乎在我的情况下不起作用。一个例子是这个名字 正在打印为: 它在正确的地方分裂,并且正在处理额外的逗号,但它没有击中额外的引号,并且现在也在那里分裂,所以
问题内容: 我正在尝试使用csv文件读取文件,但某些字段是包含逗号的字符串。字符串用引号引起来,但是numpy不能将引号识别为定义了单个字符串。例如,使用“ t.csv”中的数据: 编码 产生错误: ValueError:检测到一些错误!第2行(获得4列而不是3列) 我正在寻找的数据结构是: 查看文档,我看不到任何解决方案。有没有办法用numpy做到这一点,或者我只需要使用模块读入数据,然后将其转