C# 如何在C中拆分和保存CSV文件中的行#
我有以下CSV文件: 34416;15,14;22,67;71,51;73,59;73,1;67,19;64,07;64,29;67,94; ... 现在,我想保存第一个数字34416并用它替换每个分号,但不要替换第一个分号 现在,还有下一行。同样的程序,只是开始时的另一个数字C# 如何在C中拆分和保存CSV文件中的行#,c#,string,file,csv,split,C#,String,File,Csv,Split,我有以下CSV文件: 34416;15,14;22,67;71,51;73,59;73,1;67,19;64,07;64,29;67,94; ... 现在,我想保存第一个数字34416并用它替换每个分号,但不要替换第一个分号 现在,还有下一行。同样的程序,只是开始时的另一个数字 public List<string> ConvertFile() { string allLines = string.Empty; allLines = GetL
public List<string> ConvertFile()
{
string allLines = string.Empty;
allLines = GetLinesFromFile();
for (int i = 0; i < GetLinesFromFile().Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' });
string number = split[i];
allLines.Replace(";", ";34416|");
}
List<string> re = new List<string>();
re.Add(allLines);
return re;
}
公共列表转换文件()
{
string allLines=string.Empty;
allLines=GetLinesFromFile();
对于(int i=0;i
我对C#编码很陌生-你能帮我吗
提前谢谢。你需要重新考虑你的逻辑。首先,
GetLinesFromFile()
似乎返回一个字符串;我希望它返回一个列表
(文件中的每一行都是一个字符串)。然后你可以这样做:
public List<string> ConvertFile()
{
var result = new List<string>();
foreach(var line in GetLinesFromFile())
{
var lineParts = line.Split(';');
var fixedLine = line.Replace(";", ";" + lineParts[0] + "|");
result.Add(fixedLine);
}
return result;
}
公共列表转换文件()
{
var result=新列表();
foreach(GetLinesFromFile()中的变量行)
{
var lineParts=line.Split(“;”);
var fixedLine=line.Replace(“;”,“;”+lineParts[0]+“|”);
结果。添加(固定行);
}
返回结果;
}
试试这个
public List<string> ConvertFile( )
{
string allLines = GetLinesFromFile();
List<string> re = new List<string>();
for (int i = 0; i < allLines.Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
allLines.Replace(";", ";" + split[0] + "|");
re.Add(allLines);
}
return re;
}
公共列表转换文件()
{
字符串allLines=GetLinesFromFile();
List re=新列表();
for(int i=0;i
您知道CSV数据单元格也可以包含分号吗?看看RFC-4180:(第2.6点)您正在调用所有行上的.Replace(..)
,而您应该在当前行上调用它,如allLines.Replace(“;”,“34416 |”)代码>。然后用每行的第一个数字替换34416。好的,行
必须是一个列表
?哎呀,忘记添加函数了;编辑我的代码以修复它:通过调用GetLinesFromFile()
替换lines
。CHAR不包含拆分/替换的定义。如我所说:更改GetLinesFromFile()
以便返回一个列表
或字符串[]
,文件中的每一行都是一个字符串。例如,如果此代码对您运行良好,请将其标记为正确并进行表决。