Было бы ли решением для вас просто заменить все двойные новые строки на заполнители, чтобы затем явно удалить одиночные новые строки, после чего вы можете снова восстановить одиночные новые строки на местах заполнителей?
[113 ] Вы можете попробовать
sth_unique = '#%@#'
c = content.replace('\n\n', sth_unique).replace('\n', '').replace(sth_unique, '\n')
print(c)
#"asfdd|b|c|defgijklmnopque2|record|sadfe
#1324|b|c|defgijklmnopqudafdsasfde2asdfdsfdsfdsfadfadse2fdsase2asdfasdfasfe2|record|afasde
#3243243|b|c|defgijklmnopque2|record|adf
#startrecord4|b|c||record|adf
Попробуйте DataSet. Загрузка (). Это имеет несколько перегрузок, берущих IDataReader.