У меня есть функция, написанная коллегой, работающей в том же поле. Поэтому я знаю, что должен писать скрипт для выполнения кода на Python, но вопрос о том, как выглядит формат входного файла bbfile, беспокоит меня. Как я вижу, fidlines читает все содержимое, правильно? Мое может касаться bbfile (табуляция, ограниченная в моем случае) , если у него есть три столбца один для freq, другой для breal и третий для bimag?Функция Python, выпуск с входным файлом
def bbcalfunc(bbfile,nfreqlst):
fid=file(bbfile,'r')
fidlines=fid.readlines()
#define the delimiter
if bbfile.find('.txt')>=0:
delimiter='\t'
elif bbfile.find('.csv')>=0:
delimiter=','
freq=[]
breal=[]
bimag=[]
for ii in range(1,len(fidlines)):
linestr=fidlines[ii]
linestr=linestr.rstrip()
linelst=linestr.split(delimiter)
if len(linelst)>2:
freq.append(float(linelst[0]))
breal.append(float(linelst[1]))
bimag.append(float(linelst[2]))
else:
pass
freq=np.array(freq)
breal=np.array(breal)
bimag=np.array(bimag)
nfreq=np.log10(np.array(nfreqlst))
brinterp=interpolate.splrep(freq,breal)
brep=1E3*interpolate.splev(nfreq, brinterp)
biinterp=interpolate.splrep(freq,bimag)
bip=1E3*interpolate.splev(nfreq, biinterp)
return brep,bip
Таким образом, вы получаете сообщение об ошибке, или что? Кроме того, исправьте форматирование кода. Строка 'def bbcalfunc (bbfile, nfreqlst):' даже не в блоке кода. – Kevin
Вы также забыли закрыть файл: 'fid = file (bbfile, 'r')'. ** Всегда ** открывайте такие файлы: 'wtih open (bbfile, 'r') как fid: fidlines = fid.readlines()'. –
@ Программистам Igor C не нужно редактировать коды python –