如何在CSV文件中随机生成单词

时间:2019-03-06 12:47:24

标签: c# visual-studio csv selenium-webdriver

我的文件浏览器Windows 10中有一个csv文件。该文件包含行列表,例如:

John, 5656, Phil, Simon,,Jude, Helen, Andy
Conor, 5656, Phil, Simon,,Jude, Helen, Andy

我是使用C#,硒和Visual Studio的自动测试仪。在我正在测试的应用程序中,有一个上传按钮可以导入csv文件。

如何自动随机更改第二个数字,以便第一行的更新为1234,第二行的更新为4444(只需随机追加)。我想我需要一个随机生成器。

任何建议或代码片段都将不胜感激。

3 个答案:

答案 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