#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'