我有一個更新 CSV 中資料的應用程式。我要添加的是,如果“名稱”不在 CSV 中,則添加它。我嘗試將 更改while為if/then,但這沒有給我任何結果,只是 CSV 中的一個空白行。
代碼:
using (StreamReader reader = new StreamReader(path))
{
String line;
while ((line = reader.ReadLine()) != null)
{
if (line.Split(',')[0].Equals("newName"))
{
String[] split = line.Split(',');
split[1] = tPoints.ToString();
line = String.Join(",", split);
}
lines.Add(line);
}
}
using (StreamWriter writer = new StreamWriter(path))
{
foreach (String line in lines)
writer.WriteLine(line);
}
當前 CSV 資料:
name,734937
如果找不到專案,我正在嘗試讓它添加一個新行。所以預期的結果將類似于以下內容:
name,734937
newName,0
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
bool termFound = false;
string searchTerm = "newName";
var lines = new List<string>();
using (StreamReader reader = new StreamReader("input.csv"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
lines.Add(line);
if (line.Split(',')[0].Equals(searchTerm))
termFound = true;
}
}
using (StreamWriter writer = new StreamWriter("output.csv"))
{
foreach (string line in lines)
writer.WriteLine(line);
if(termFound == false)
writer.WriteLine($"{searchTerm},0");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476742.html
標籤:C#
上一篇:打破嵌套回圈
下一篇:C#有沒有辦法將變數用作屬性?
