You really don't need to have any structure to the file if all you are doing is saving a bunch of numbers, as how you read them in creates the structure in the code. I would not bother with the '[' and ']'. I am assuming you know how to open a file for reading or can at least find out.
I would start by
for (uint8_t i = 0; i<ROW_SIZE; i++)
for (j=0; j<COL_SIZE, j++)
array[i,j] = readValue();
Then just write a readValue() function that reads the next element of data from the file. The logic for the function looks something like this:
if end-of-file return(0);
read characters while they are not a number
num = character - '0'; // this creates a single digit number from the ASCII character
while the characters are numbers
num = (num * 10) + character - '0';
You may also find a function in the SD library that you are using that could read the next number for you - that depends on the library.
To write the numbers is very similar - use the loop and write the values instead of reading them.