我的文件浏览器Windows 10中有一个csv文件。该文件包含行列表,例如:
John, 5656, Phil, Simon,,Jude, Helen, Andy
Conor, 5656, Phil, Simon,,Jude, Helen, Andy
我是使用C#,硒和Visual Studio的自动测试仪。在我正在测试的应用程序中,有一个上传按钮可以导入csv文件。
如何自动随机更改第二个数字,以便第一行的更新为1234,第二行的更新为4444(只需随机追加)。我想我需要一个随机生成器。
任何建议或代码片段都将不胜感激。
答案 0 :(得分:0)
您要在将CSV文件上传到程序之前还是之后添加该文件?无论哪种方式,它看起来都是这样的:
public File updateFile(string filePath){
List<string> modifiedNames;
using (StreamReader sr = File.OpenText(path))
{
string s;
while ((s = sr.ReadLine()) != null)
{
s = s + randomlyGeneratedSuffix();
newEntries.add(s)
}
}
using (StreamWriter sw = new StreamWriter("names.txt")) {
foreach (string s in modifiedNames) {
sw.WriteLine(s);
}
}
// return new file?
}
答案 1 :(得分:0)
在上传之前读取文件,更改csv中第二个位置的数字并将其再次写入磁盘应该可以。这是一种非常简单的方法,可以帮助您入门:
var fileLines = File.ReadAllLines("file.csv");
var randomGenerator = new Random();
var newFileLines = new List<string>();
foreach (var fileLine in fileLines)
{
var lineValues = fileLine.Split(',');
lineValues[1] = randomGenerator.Next(1000, int.MaxValue).ToString();
var newLine = string.Join(",", lineValues);
newFileLines.Add(newLine);
}
File.WriteAllLines("file.csv", newFileLines);
答案 2 :(得分:-1)
我不会从现有的CSV文件中进行测试,而是从代码中生成一个新的文件。
在线上有很多代码示例,如何在C#中创建CSV文件,例如:Writing data into CSV file in C#
对于随机数,您可以使用随机类:https://docs.microsoft.com/en-us/dotnet/api/system.random?view=netframework-4.7.2