Сохранять документ excel (с пандами python) в переменной

Я делаю программу, где я открываю документ excel с S3 (AWS), я это выдаю и после это сохраняю (он сохраняет в моей команде) и этот же самый выданный файл я это пересылаю в S3, там все добро но эта же самая программа я это пересылаю в lambdas (AWS) и меня бросает следующая ошибка:introducir la descripción de la imagen aquí И я думаю, что он, потому что программа ищет, сохранять файл, выданный локально и в lambda он не может делать это, тогда мне нужно, чтобы этот файл, который уже просачивается, упорствовал в какой-то переменной, чтобы после мочь пересылать это в S3. Спасибо.

Код:

#Importamos las bibliotecas pandas & tinys3
import pandas as pd
import tinys3

# Conexion a S3
conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY)

# Declaramos una variable para poder darle la lectura del archivo
xls = pd.read_excel('NombreArchivo.xlsx','Hoja1',usecols=['UO','Estatus_Equipo','Estatus_Eq_Disponible','No_Ptas'])

# Declaramos otra variable para poder hacer el filtro
filtro = xls[ (xls.UO.isin(['TLALNEPANTLA', 'TLALNEPANTLA 2'])) & (xls.Estatus_Equipo == 'DISPONIBLE') ] 

#Muestra la información que contiene la variable filtro
print ( filtro )

#Crea el archivo con extensión .XLSX sin los indices (automáticamente se guarda en mi equipo)
filtro.to_excel('Filtrado.xlsx', index=False)

# Declaramos una variable para poder leer el archivo creado (guardado en equipo)
fx = open('Filtrado.xlsx','rb')

# Subimos el archivo
conn.upload('Filtrado.xlsx',fx,'S3bucket')

3
задан 25.08.2019, 06:11
1 ответ

В lambdas возможно сохранять файлы в помещении, но они должны быть под маршрутом "/tmp /". У него есть один lГ-mite временного хранения к диску 500MB (расширяемо).

REF: https://aws.amazon.com/es/lambda/faqs / , отделенные P: ВїQuГ© происходит, если я нуждаюсь в месте отходов к диску для нее funciГіn AWS Lambda?

С несколькими доказательствами, которые я реализовал, я смог наблюдать, что иногда имеется вышеупомянутое хранение.

присоединил Тебе один cГіdigo примера, если ты хочешь сделать доказательство

# os necesario para poder eliminar los archivos de disco y boto3 para acceder a recursos de amazon, en este caso el s3
import os
import boto3

os.system("rm -rf /tmp/*")

s3 = boto3.resource('s3')
bucket = s3.Bucket("bucketPrueba")

bucket.download_file("rutaEnS3ArchivoADescargarPorEjemploUnPDF", "/tmp/nombreFicheroTemporalEnDisco.pdf")
0
ответ дан 01.12.2019, 19:41