Grades may be imported as a CSV or XML file.
The import file format is the same as the corresponding export format.
Note: Grade import is equivalent to manual grading in the grader report. Thus, if grades for a particular Moodle activity such as an assignment are imported, they can no longer be edited via the assignment submission page.
To import grades into the gradebook:
- Decide on an import format - CSV or XML file (see below) - then export some grades using the corresponding export format.
- Edit the export file as appropriate and save it.
- Tip: If you opened your exported file in Excel, don't add columns there because Moodle will reject the import if there are new columns that didn't exist in the exported file. If you need to add columns, do that in Moodle BEFORE you export your gradebook.
- Select your chosen import format from the gradebook dropdown menu.
- Browse and upload your previously saved file.
- Set options as required.
- Click the "Upload grades" button.
- CSV import only: Preview the grade import and choose the column mapping then click the "Upload grades" button to complete the grade import.
- Tip: By default "Map from" is set to First Name, and "Map to" to userid. Change both dropdowns to: "Email Address" to "useremail", or to "Id Number" to "useridnumber" (assuming that your users have ID number fields filled in in their profiles).
- Tip: Unlike in most email programs, email addresses are case sensitive in grade import files. (This should eventually be fixed as per MDL-29315.)
You need two permissions to import grades: (1) general permission to import grades and (2) permission to import grades in a particular format. For example, to import CSV grades you need
moodle/grade:import ("Import grades") = Allow gradeimport/csv:view ("Import grades from CSV") = Allow
Before importing an XML file you will need to ensure that all of the students that you want to alter grades for have their ID number field filled out. This is located in the "Optional" section of the user edit profile page. You will also need to set the ID number of the activity as well. You can find this under "Common module settings" when editing the activity.
The format for the XML should be as follows:
<results> <result> <assignment>activityidnumber</assignment> <student>studentidnumber</student> <score>53.00</score> </result> <result> <assignment>differentactivityidnumber</assignment> <student>studentidnumber</student> <score>73.00</score> </result> </results>
For a working example try exporting the gradebook as an xml file and view the format.
Remote file URL
The remote file URL field is for fetching data from a remote server, such as a student information system.
CSV import is more flexible than XML import, as you may choose the column mapping.
When Importing to Moodle 2.x or higher, after selecting your CSV for import you'll be prompted to map user fields and grade items to the new column headers to ensure that there is a match. More than one item can be mapped to the same grade item in your destination course so be mindful of the mapping to ensure that grade data is imported properly, any collisions (i.e. if two or more fields are mapped to the same but duplicate data exists) will cause an error. User grade data for users not yet enrolled to the destination course will be noted (and once enrolled their grade data will display).
If you are unsure of the encoding of your CSV file, try selecting the second option in the encoding dropdown menu. If you've used Excel to produce the CSV file the second option WINDOWS-xxx encoding is probably the correct one. The grade import preview will tell you if you guessed the encoding correctly.
Scales can be either specified as a raw id - eg. 0, 1, 2, 3, etc. or as a string, eg. "good", "bad", "not very bad". The later format is called "verbose".
Grade import capabilities
Using Moodle forum discussions: