我有包含数据的csv文件
ABC,BCA,AAA
CBA,BSH,updated
XYZ
,Marketing,YYY
我尝试使用以下代码但是得到了结果
结果: -
ABC,BCA,AAA
CBA,BSH,updated
XYZ
,Marketing,YYY
代码: -
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace RemoveEmptyLines
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Test\Downloads\222.csv";
Test test = new Test();
test.RemoveBlankRowsFromCVSFile(path);
}
}}
public class Test
{
public void RemoveBlankRowsFromCVSFile(string filepath)
{
if (filepath == null || filepath.Length == 0)
{
throw new ArgumentNullException("filepath");
}
if (!File.Exists(filepath))
{
throw new FileNotFoundException("Could not find CVS file.", filepath);
}
var tempFileName = Path.GetTempFileName();
try
{
using (var streamReader = new StreamReader(filepath))
using (var streamWriter = new StreamWriter(tempFileName))
{
string line;
while ((line = streamReader.ReadLine()) != null)
{
if (!string.IsNullOrWhiteSpace(line))
{
streamWriter.WriteLine(line);
}
}
}
File.Copy(tempFileName, filepath, true);
}
finally
{
File.Delete(tempFileName);
}
}}
但我希望输出像,
ABC,BCA,AAA
CBA,BSH,updated
XYZ,Marketing,YYY
请提前帮助我,谢谢。
有什么方法可以让我得到理想的结果。
答案 0 :(得分:0)
这不是解决方案,而是建议让您真正找到解决方案:
请在此处查看可接受的CSV格式:http://edoceo.com/utilitas/csv-file-format
案例:
ABC,BCA,AAA
CBA,BSH,updated
XYZ
,Marketing,YYY
预期结果:
ABC,BCA,AAA
CBA,BSH,updated
XYZ,Marketing,YYY
您对该请求的要求是:
将多行数据合并为一行
E.g。这里有什么期望:
A,,
,B,
C,D,E
或在这里:
A,B
,,C,D
或在这里:
A,B,C
,,D,
E,F,G
或在这里:
A,B,
C,D,E
或在这里:
A,B
C,D,E
或在这里
A,B,C
D
E,
F G H
, I
因此,可能的前进方向:
答案 1 :(得分:0)
这对你有帮助:
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace CSVFixer
{
public class CSV
{
public void fixCSV(string filePath)
{
string content = File.ReadAllText(filePath, Encoding.UTF8);
string reEx = "\\r\\n\\s+";
content = Regex.Replace(content, reEx,"");
File.WriteAllText(filePath, content, Encoding.UTF8);
}
}
}
您只需要传递参数。
string filePath = @"C:\Users\Ivan\Documents\csv.txt";
您可能需要修改名为reEx的常规表达式,如果您的文件也是.csv,它也可以正常工作。