Полагаю, что CSV будет записываться построчно, поэтому вместо чтения всего файла и фильтрации вы можете накапливать количество строк в файле в переменной rows
, а для следующего запуска использовать read_csv
передавая необязательный аргумент skiprows
со значением range(1, rows + 1)
, чтобы пропустить первые строки в файле, а затем увеличивая rows += len(df)
Если data.csv
равно
a,b,c
1,2,3
4,5,6
7,8,9
3,2,1
6,5,4
и rows = 2
(т. Е. В последний раз, когда файл читался, он имел 2 строки), затем
df = pd.read_csv("data.csv", usecols=["a", "c"], skiprows=range(1, rows + 1))
будет фреймом данных
a c
0 7 9
1 3 1
2 6 4
и вы увеличиваете rows
rows += len(df) # rows now equals 5, so 5 rows would be skipped in the next run