2018 bis heute | 2017 2016 2015 2014 | 2013 | 2012

Mailingliste - Einträge 2018 bis heute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QF-Test] How do I update and existing value in a CSV file?

  • Subject: Re: [QF-Test] How do I update and existing value in a CSV file?
  • From: "Yann Spoeri, QFS Support" <support@?.de>
  • Date: Mon, 24 Sep 2018 09:54:11 +0200
  • Delivered-to: qftest-list@?.net

Hi everyone,

In order to update a value in an existing CSV file, you first need to read in the file the complete file, then change the wanted value and then
write everything out ... so - in jython/python, this is looking something like this:

import csv
newCSVData = []
with open(r'C:\temp\foo.csv', 'rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=';')
    for row in reader:
        if row[0] == 'CIVPart1': # the value to search
            row[1] = str(int(row[1]) + 1)
with open(r'C:\temp\foo.csv', 'w') as csvfile:
    for line in newCSVData:

The same in groovy (Please note that the groovy csv parser expect a "," instead of a ";" as delimiter):

import org.apache.commons.csv.CSVParser;

def newCSVData = []
parser = new CSVParser(new FileReader("C:/temp/foo.csv"));
def fieldnames = parser.getLine();
for(int i = 0; i < parser.getLineNumber(); i++) {
    vals = parser.getLine();
    if(vals != null) {
        if(vals[0] == "CIVPart1") {
            vals[1] = "" + (vals[1].toInteger() + 1)
def file = new File("C:/temp/foo.csv");
for(vals in newCSVData) {
    file << vals[0] << "," << vals[1] << "\n";

Greetings & Happy testing,

Am 20.09.2018 um 04:23 schrieb Mike Harper:

I am very new to QF-Test, Groovy, JavaScript etc. and am finding it incredibly difficult finding out how I can update an existing value in a CSV

I have searched the archives but can't find anything that shows me how to do this.

My test uses a CSV Data File to pull in the CSV file values.
The CSV data contains two rows:

These values are strung together then a SQL statement is used to see if the full CIV Number can be found in the Database.

If found to exist, I add 1 to the CIVPart2 value and check again - doing this until a record is not found in the database.

I then need to add 1 to the calculated CIVPart2 value and write it back to the CIV file so that when the test runs again, the SQL statement
won't reuse values that have already been proven to exist.

I am thinking I need to use aServer Script to achieve the required result. Have been using Groovy to date.

So, can someone step me through the coderequired to update the existing CSV file so that it contains the new value please? (Am almost bald from
pulling my hair out)

Thanks in advance for your help.


qftest-list mailing list


Get the most out of QF-Test - Support directly from the authors
* Training & consulting: www.qfs.de/en/qftest/training.html
* Phone & email support: www.qfs.de/en/qftest/support.html

Yann Felix Spöri

E: support@?.de
T: +49 8171 38648-20
F: +49 8171 38648-16

Quality First Software GmbH | www.qfs.de
Tulpenstr. 41 | 82538 Geretsried | Germany
GF Gregor Schmid, Dr. Martina Schmid, Karlheinz Kellerer
HRB München 140833