Я хочу извлечь часть содержимого файла. Который начинается с («голова» и заканчивается («arraydat»Извлечь часть файла и распечатать с помощью python
Содержание файла:
(record
("head"
(record
("pname" "C16D")
("ptype" "probe")
("sn" "11224")
("rev" "1")
("opname" "Kaji")
("comm"
[ "" ]
)
("numel" 192)
("mux" 1)
("freq" 3400000)
("date" 63602497416.093)
("focus" 0.066)
("probID" 574)
("te" 0)
("therm" 0)
("bipolar" "N/A")
("maker" "YMS")
("PartNum" 5418916)
("numrow" 1)
)
)
("arraydat"
(record
("FL6" 1625283.947393933)
("FH6" 4932875.254089763)
("FL20" 1283607.261269079)
("FH20" 5673248.882271254)
("Fc" 3279079.600741847)
("BW" 100.8695033187829)
("PW6" 3.316821935120381E-007)
("PW20" 9.740000000000003E-007)
("PW30" 1.456E-006)
("PW40" 2.628000000000001E-006)
("LG" -46.35823409318354)
("TOF" -1.363659434369523E-008)
)
Мне нужно извлечь содержимое файла после «головы» и перед «arraydat» . Я попробовал эту команду, но не повезло
import re
with open('sample.txt','r') as new_file:
data = new_file.read()
pattern = re.compile(r'\s[(]\s"head"[\s\S]*?\s[(]\s"arraydat"')
stringtext = re.findall(pattern, data)
print(stringtext)
Вывод должен выглядеть следующим образом:
("pname" "C16D")
("ptype" "probe")
("sn" "11224")
("rev" "1")
("opname" "Kaji")
("comm"
[ "" ]
)
("numel" 192)
("mux" 1)
("freq" 3400000)
("date" 63602497416.093)
("focus" 0.066)
("probID" 574)
("te" 0)
("therm" 0)
("bipolar" "N/A")
("maker" "YMS")
("PartNum" 5418916)
("numrow" 1)
)
)
спасибо за решение. он отлично работает. Можете ли вы помочь мне с кодом, где первая часть строки - это заголовок файла csv, а вторая часть - как данные. Например, если («pname» «C16D») является содержимым, я хотел бы поместить «pname» в качестве заголовка файла csv и «C16D» в качестве данных ниже этого заголовка, аналогичный процесс для остальной части строк. –