Не могу записать данные, извлеченные из файла DICOM в файл CSV

Это связано с тем, что ваши относительные URI имеют свою базу. Первоначально база /, когда страница /swift-details.php?id=foo, и браузер правильно заполняет относительные ссылки с базой /. Но когда браузер переходит на страницу типа /swift/details/foo, база внезапно становится /swift/, и она пытается добавить это перед всеми относительными URL-адресами и, следовательно, ни один из них не загружается.

Вы можете либо сделать свой ссылки абсолютны или изменить базу URI в заголовке ваших страниц (в промежутке между тегами <head> </head>):

<base href="/">
0
задан atline 16 January 2019 в 08:32
поделиться

1 ответ

Предполагая, что оператор «break» в вашем цикле for означает, что вам нужна информация только о первом изображении, попробуйте:

import pydicom
import os
import csv 

data_dir = 'C:\\Users\\dmgop\\Personal\\TE Project-Pneumonia\\stage_1_test_images_dicom' 
patients = os.listdir(data_dir)
with open('file.csv','w') as myfile:
    writer = csv.writer(myFile)
    # patients[0] means get the first filename, no need for the for loop
    lung = pydicom.dcmread(os.path.join(data_dir, patients[0]))
    print(lung.formatted_lines)
    # pay attention to the function_call --> formatted_lines()
    writer.writerows(lung.formatted_lines())

Посмотрите документы Pydicom для FileDataset который является типом возврата для метода dcmread.
Если вы хотите записать данные для всех файлов в каталоге, попробуйте следующее:

import pydicom
import os
import csv 

data_dir = 'C:\\Users\\dmgop\\Personal\\TE Project-Pneumonia\\stage_1_test_images_dicom' 
patients = os.listdir(data_dir)
with open('file.csv','w') as myfile:
    writer = csv.writer(myfile)
    for patient in patients:
        if patient.lower().endswith('.dcm'):
            lung = pd.dcmread(os.path.join(data_dir, patient))
            writer.writerows(lung.formatted_lines())

Также взгляните на последнюю часть этого параграфа об использовании 'with open () как '

0
ответ дан g_uint 16 January 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: