Файл — последовательность байтов. Кроме них ничего записать в него невозможно. Осмысленность этой последовательности придаёт формат — соглашённость о том, как представлять некий вид информации в байтах и как оттуда его считывать. В данном случае нужно подобрать формат для таблицы и записывать в нём. Так как в вопросе не дана структура этой таблицы, то могу только перечислить инструменты, которыми можно воспользоваться.
Либа serialization (OpenOS). Сериализует таблицу и десериализует в таблицу назад.
Функции string.pack и string.unpack. Первая по строке-формату пакует данные в строку, вторая их извлекает.
Функции string.char и string.byte. Первая создаёт строку с байтом, значение которого равно переданному; вторая возвращает значения байтов, из которых состоит строка.
Функции string.gsub, string.gmatch, string.find, string.match. Для поиска по шаблону.
Прошу описать структуру содержимого таблицы, чтобы помочь подобрать правильный инструмент.
Кроме того, чтобы файл не переписывать с нуля, а дописывать с конца, нужно использовать io.open(path, "a") (от append).