我有这段代码来组合 2 个不同的 csv 文件。
try
{
var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
var comparisonField = jobStartLine.Split(';')[4];
foreach (var line in File.ReadAllLines(BoxData))
{
var fields = line.Split(new char[] {';'}, 2);
if (comparisonField == fields[0])
{
File.WriteAllLines(JobStart,
new string[] {jobStartLine + ";" + fields[1]});
break;
}
}
}
我的盒子数据 = data1;data2;data3;data4;data5
目前,data2 到 data5 正在进入 JobStart 文件。
Data5 不应包含在 JobStart 文件中。
我想将 data5 设置为全局变量。
我怎么能做到这一点,我只是想不通,需要帮助。
这有助于理解我的问题:如何比较 2 个.csv文件并创建一个包含两个 csv 文件中零件的新.csv?
var foo = string.Empty;
try
{
var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
var comparisonField = jobStartLine.Split(';')[4];
foreach (var line in File.ReadAllLines(BoxData))
{
var fields = line.Split(new char[] {';'}, 5).ToList();
foo = fields[4];
fields.RemoveAt(4);
if (comparisonField == fields[0])
{
File.WriteAllLines(JobStart,
new string[] {jobStartLine + ";" + String.Join(';', fields.ToArray())});
break;
}
}
}
这有点解决了我所理解的你的问题。
以下是我解决问题的方式:
if (File.Exists(JobStart))
{
File.Delete(JobStart);
}
try
{
var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
var comparisonField = jobStartLine.Split(';')[4];
foreach (var line in File.ReadAllLines(BoxData))
{
var fields = line.Split(new char[] { ';' }, 2);
if (comparisonField == fields[0])
{
string string2write = "";
string2write += JobName + ',';
string2write += jobStartLine.Split(';')[0] + ',';
string2write += jobStartLine.Split(';')[1] + ',';
string2write += jobStartLine.Split(';')[2] + ',';
string2write += jobStartLine.Split(';')[3] + ',';
string2write += jobStartLine.Split(';')[5] + ',';
string2write += line.Split(';')[1] + ',';
string2write += line.Split(';')[2] + ',';
string2write += line.Split(';')[3] + ',';
string2write += line.Split(';')[4] + ',';
string2write += line.Split(';')[5] + ',';
string2write += line.Split(';')[6];
PrinterSelected = line.Split(';')[7];
FileStream fst = new FileStream(JobStart, FileMode.Create, FileAccess.Write);
StreamWriter stw = new StreamWriter(fst, Encoding.Default);
stw.Write(string2write);
stw.Dispose();
stw.Close();
// File.WriteAllLines(JobStart, new string[] { jobStartLine + ";" + fields[1]});
break;
}