CSV 存储字段处理
参考链接
Common Format and MIME Type for Comma-Separated Values (CSV) Files
代码
var csvData = new[]
{
data1,
data2,
...
};
var csvLine = string.Join(",", csvData.Select(EscapeCsvField));
private string EscapeCsvField(string field)
{
if (string.IsNullOrEmpty(field)) return "";
if (field.Contains(",") || field.Contains("\"") || field.Contains("\n") || field.Contains("\r"))
{
return $"\"{field.Replace("\"", "\"\"")}\"";
}
return field;
}
遵循 RFC 4180 CSV 标准规范:
- 检查字段是否包含特殊字符(如逗号、双引号、换行符)。
- 如果包含这些特殊字符,需要用双引号将整个字段包裹起来(例如 A,B 处理为 “A,B” )。
- 如果字段本身内部包含了双引号,需要将其转义为两个连续的双引号(例如 A”B 处理为 “A”“B” )。
留下评论