Skip to main content
Skip table of contents

Upload Experiment Data via Spreadsheet

If your project data is stored in a spreadsheet, using the XNAT CSV Uploader is the most expedient way of getting that data into your XNAT project. To use the CSV Uploader from anywhere in the application, go to Upload > Spreadsheet in the top navigation.

In this demo, we are uploading subject demographic data from the mBIRN_calib project on XNAT Central. You can download the example CSV spreadsheet file here: csv-upload-raw-data.csv

 

Configure Your Upload Template

1. Name your new upload template. Or, you can select a previously loaded template, if you have used the uploader before.

2. Select the root data type you will be uploading to. In this case, since we are uploading subject data, your root data type will be xnat:subjectData. In our CSV file, each new line will correspond to a single subject record. If we were uploading experiment data, each new line would correspond to a single experiment record.

You can click the "Show All" link to reveal every known data type in XNAT, if you need to upload data of a type that hasn't been uploaded to XNAT before.

3. Click Submit.

In the next step, we will configure the fields that the data in your CSV file will map to. Here is the raw export data we are starting with: 

CODE
Subject,M/F,Hand,YOB
50782592,M,R,1964
58259524,M,R,1968
73213384,M,R,1964
79363080,F,R,1959
99657608,M,R,1968


4. Select Your Related Fields. Browse through the list of attributes associated with your root data type, and select the appropriate fields. The gender, handedness and year of birth attributes in our CSV file can be found in xnat:subjectData/demographics/xnat:demographicData

An ID field for your subject data is automatically generated in the first column of the template file, and does not have to be selected.

5. Click Submit. This will create and save a CSV upload template in your user cache in the XNAT file system.

 

Fit Your Data to the CSV Upload Template

Now that you have a CSV upload template generated in XNAT, you need to ensure that your spreadsheet of data fits the format that XNAT is looking for. The best way to do this is to download the CSV template file, open it in Excel (or your spreadsheet handling application of choice), and compare its structure with your own data. In our case, the template file looks like this:

CODE
ID,yob,gender,handedness

As you can see, the columns are in a different order than our source data, and the headers are named differently. We must adapt our source data to fit the format that XNAT expects.

After doing so, here is what our source data now looks like:

CODE
ID,yob,gender,handedness
50782592,1964,M,R
58259524,1968,M,R
73213384,1964,M,R
79363080,1959,F,R
99657608,1968,M,R

Now we are ready to continue the upload process.

 

Upload Your Data

6. Click "Browse" and select your CSV-formatted spreadsheet file.

7. Click "Upload."  The page will refresh and display the data you have selected.

Assuming your column names are properly formatted, the header row of your CSV spreadsheet file will be automatically skipped. If not, your header row will appear as the first row of data. You can remove it by clicking the "Remove" button next to that row.

8. Select a Project to upload to.

9. Click "Save." The page will process your data and reload, displaying the values it finds.

 

Validate and Recode Your Data As Needed

XNAT can only upload data that is valid for the data attributes you have selected. Any invalid data will be ignored during the upload process. Invalid data is highlighted in red in this review screen. In our case, the value "R" is not an accepted value for the "handedness" attribute. Handedness expects data to be coded as "LEFT" or "RIGHT," so we will have to recode our data and try again.

After recoding, our data now looks like this:

CODE
ID,yob,gender,handedness
50782592,1964,M,RIGHT
58259524,1968,M,RIGHT
73213384,1964,M,RIGHT
79363080,1959,F,RIGHT
99657608,1968,M,RIGHT

 

And upon uploading this data into XNAT, the red fields have now disappeared in the review screen:

 

Finalize Your Upload

10. Click "Save" on the review screen to finalize your upload.  The page will reload and display a success message. You can ensure that your data got properly uploaded and coded by navigating to your project page. In our demo, this page now looks like so:

There is a known bug with handling of gender data in the Spreadsheet uploader. The individual subject attributes are correctly noted as "Male" and "Female", but the XSD table display shows "U". See here for issue updates:

XNAT-1827

Reupload Data to Modify or Correct Entries

11. Resave modified data in our CSV template. We can resolve the gender coding issue in our data file that results from the unresolved XNAT-1827 issue and reupload our spreadsheet to modify the subject listings we just created. This is a useful process for uploading modified data of any kind. First, we need to recode our subjects' gender values using full words in lowercase, rather than uppercase initials. Do this and resave your CSV document. 

CODE
ID,yob,gender,handedness
50782592,1964,male,RIGHT
58259524,1968,male,RIGHT
73213384,1964,male,RIGHT
79363080,1959,female,RIGHT
99657608,1968,male,RIGHT

12. Reupload your modified CSV file 

Return to the "Upload > Spreadsheet" page and select the saved CSV upload template that we defined earlier: 

After uploading your new CSV file and selecting the same project to upload to, your confirmation screen should look like this: 

Upon saving this modified data and returning to your project home page, your subject listing will now have corrected values for the gender column. 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.