You are just tossing data into the random file, but that is OK. BINARY can do that too and is used for that type of sequencial data. That is why I recommended a sequencial file. I figured you were doing that.
As far as WRITE goes, you need them all on one line or the data from a loop is placed down the file instead of across it.
You can emulate the creation of a comma separated file by using PRINT # instead by adding the commas and using semicolons like this:
FOR c = 1 TO 21
PRINT #1, Country$(c); ","; ' will include the quotation marks in file also
FOR w = 1 TO 10
IF w = 10 THEN
PRINT #1, LTRIM$(STR$(Weapons(c, w))) ' end of data line...start new line
EXIT FOR ' quit loop at 10
PRINT #1, LTRIM$(STR$(Weapons(c, w))); ","; ' first 9 values need commas after them
Then you can read the file normally using INPUT #1 in a similar loop setup.
Use what is easiest for you. But consider it for other uses.