Файл отсутствует после загрузки Zip

#python #tensorflow #keras

Вопрос:

Я пытаюсь импортировать CSV-файл в виде фрейма данных Pandas. Файлы включены в более крупный Zip-файл. Ниже приведен мой код:

 import tensorflow as tf
from tensorflow import keras
import pandas as pd
import zipfile

DataURL = "file:///c:/Users/MMoynihan/Desktop/TensorFlow/DNN_Dataset/SIM_IMGS.zip"
TagURL = "file:///c:/Users/MMoynihan/Desktop/TensorFlow/DNN_Dataset/SIM_TAGS.zip"
TagName1 = 'Sim_TAG0_2021-08-13-18-52.csv'

data_for_processing = keras.utils.get_file('plots', DataURL)
tags_for_processing = keras.utils.get_file('tags', DataURL)

zf = zipfile.ZipFile(tags_for_processing)
df = pd.read_csv(zf.open(TagName1))
 

По какой-либо причине помеченный файл не указан как часть большего Zip-файла.

 raise KeyError(
KeyError: "There is no item named 'Sim_TAG0_2021-08-13-18-52.csv' in the archive"
 

Я протестировал 4 или 5 различных имен файлов, которые, как я знаю, присутствуют, но ни одно из них не появилось в списке zip.

====

У меня аналогичная проблема с доступом к файлам изображений.

 import tensorflow as tf
from tensorflow import keras
import pandas as pd
import zipfile

DataURL = "file:///c:/Users/MMoynihan/Desktop/TensorFlow/DNN_Dataset/SIM_IMGS.zip"
TagURL = "file:///c:/Users/MMoynihan/Desktop/TensorFlow/DNN_Dataset/SIM_TAGS.zip"

TagTest = 'Sim_TAG7_2021-08-13-18-52.csv'
ImageTest = 'Sim_Image1_2021-08-13-18-52.png'

IMG_processing = keras.utils.get_file('plots', DataURL)
TAGS_processing = keras.utils.get_file('tags', DataURL)

archive = zipfile.ZipFile(IMG_processing, 'r')
imgdata = archive.read(ImageTest)
 

Ниже приведены ошибки:

 Raise KeyError(KeyError: "There is no item named 'Sim_Image1_2021-08-13-18-52.png' in the archive"
 

Комментарии:

1. Почему в сообщении об ошибке указано 7 (TAG7) вместо 0 (TAG0)?

2. Использовались разные имена файлов. «Нет элемента с именем ‘Sim_TAG1_2021-08-13-18-52.csv» в архиве». Там нет элемента с именем ‘Sim_TAG7_2021-08-13-18-52.csv» в архиве». «Нет элемента с именем ‘Sim_TAG0_2021-08-13-18-52.csv» в архиве».

Ответ №1:

Я решил эту проблему. Имя файла должно содержать zip-папку, в которой оно находится. в этом случае:

 TagTest = 'SIM_TAGS/Sim_TAG7_2021-08-13-18-52.csv'
ImageTest = 'SIM_IMGS`/Sim_Image1_2021-08-13-18-52.png'