Fixes for the code you asked about inline, and some other associated cleanup, with comments:
col = 13     # colonne
rig = 300    # righe
a = [[None] * col for y in range(rig)]  # Innermost repeated list of immutable
                                        # can use multiplication, just don't do it for
                                        # outer list(s), see: https://stackoverflow.com/q/240178/364696
counter = 1
with open('temp.txt') as file:  # Use with statement to get guaranteed file closure; 'r' is implicit mode and can be omitted
    # Removed: files = file.readline()  # This makes no sense; files would be a single line from the file, but your original code treats it as the lines of the file
    # Replaced: for line in files:  # Since files was a single str, this iterated characters of the file
    for line in file:  # File objects are iterators of their own lines, so you can get the lines one by one this way
        if 'bandEUTRA: 32' in line and 'ca-BandwidthClassDL-EUTRA: a' in line:  # Perform both tests in single if to minimize arrow pattern
            a[counter][5] = 'DLa'
            counter += 1  # May as well not say "counter" twice and use +=
    # All next() code removed; next() advances an iterator and returns the next value,
    # but files was not an iterator, so it was nonsensical, and the new code uses a for loop that advances it for you, so it was unnecessary.
    # If the goal is to intentionally skip the next line under some conditions, you *could*
    # use next(files, None) to advance the iterator so the for loop will skip it, but
    # it's rare that a line *failing* a test means you don't want to look at the next line
    # so you probably don't want it
# This works:
print('\n'.join(map(str, a)))
# But it's even simpler to spell it as:
print(*a, sep="\n")
# which lets print do the work of stringifying and inserting the separator, avoiding 
# the need to make a potentially huge string in memory; it *might* still do so (no documented
# guarantees), but if you want to avoid that possibility, you could do:
sys.stdout.writelines(map('{}\n'.format, a))
# which technically doesn't guarantee it, but definitely actually operates lazily, or
for x in a:
    print(x)
# which is 100% guaranteed not to make any huge strings