Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Použite funkcie listdir()

Python Python Použite funkcie listdir() American English version English version

Aktivity (1)
Avatar
Ľubo Pifko Rusnák:21. listopadu 23:05

Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. To funguje ale ja potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. S tým je problém. Skompiluje ale nevýpiše vôbec žiaden parameter.

Zkusil jsem: .Pokúšam sa to robit cez funkciu listdir ale nejak mi to nefunguje. Skompiluje ale nevýpiše vôbec žiaden parameter.

import requests
import os



BASE_URL = 'https://westeurope.api.cognitive.microsoft.com/face/v1.0/detect'
headers = {
    'Ocp-Apim-Subscription-Key': 'd7264e9252674c9292b0d8b295cf3251',
    'Content-Type': 'application/octet-stream'
}
parameters = {
    'returnFaceId': 'true',
    'returnFaceLandmarks': 'false',
    'returnFaceAttributes': 'age,gender,emotion'
}


img_path = 'C:\\Users\\Pifko\\Desktop\\bakalarka\\ffmpeg-20181107-0c6d4e7-win64-static\\ffmpeg-20181107-0c6d4e7-win64-static\\bin\\all'
files = os.listdir(img_path)

for file in files:
    file = os.path.join(img_path,file)
img_data = open(file, 'rb').read()

def post_image(img_data):
    response = requests.post(BASE_URL, params=parameters,
                             headers=headers, data=img_data)
    try:
        return response.json()
    except:
        return None
print(post_image(img_data))


#delay 3 sekundy,
#nevypise ale ulozi obrazok, dat do csv suboru,

Chci docílit: Zdravím, mám kód ktorý načíta fotku osoby a vypíše parametre ako napr. vek ,emócie atd. Potrebujem to dať do cyklu tak aby vypísalo všetky parametre fotiek tak ako idú za sebou z priečinka. Dalej potrebujem aby mi obrazky nevypísalo parametre ale aby ich uložilo najlepšie do csv formátu.

 
Odpovědět 21. listopadu 23:05
Avatar
MQ .
Redaktor
Avatar
MQ .:22. listopadu 21:41

Ahoj, pokud jsem tě dobře pochopil chceš informace o každém obrázku ze složky uložit do CSV souboru. Použil jsem knihovnu Pandas a vytvořil DataFrame, do kterého ukládám hodnoty a následně ho uložím jako CSV soubor.

import os
import pandas as pd

df = pd.DataFrame(columns = ["hodnota1", "hodnota2"])

files = os.listdir(img_path)
for soubor in files:
    with open(soubor, "rb") as f:
        img_data = f.read()
        data = post_image(img_data)
        df = df.append(pd.DataFrame([[data.hodnota1, data.hodnota2]], columns = ["hodnota1", "hodnota2"]), ignore_index=True)
df.to_csv(nazev_souboru)
Nahoru Odpovědět 22. listopadu 21:41
Programovácí jazyk zítřka bude vysokoúrovňový, bez ";", prostý a v neposlední řadě čitelný.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.