Использование Python API показало, что Julia PythooCall не работаетPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование Python API показало, что Julia PythooCall не работает

Сообщение Anonymous »

В течение некоторого времени я пытался использовать Python API (ENTSO-E) для получения данных с веб-сайта ENTSO-E через PythonCall в Julia. При использовании собственного Python у меня нет проблем с установкой всех пакетов в выделенной среде и выполнением функций для получения данных. Проблемы возникают, когда я пытаюсь вызвать эти функции из Джулии с помощью PythonCall. Первоначально я пытался вызывать функции непосредственно из пакета entsoe (в частности, функцию query_generation_per_plant), но она включает аргумент с именем end, который является зарезервированным словом в Julia. (Я безуспешно пытался использовать словарь для передачи аргументов.) Прямой вызов кажется тупиком. В качестве второй попытки я попытался поместить эту функцию в функцию Python, которая будет вызываться через PythonCall, избежав таким образом проблемы с зарезервированным словом, но безуспешно. Вот минимальный пример:
Код Python в fichier nommé entsoePerso.py (в même répertoire que les fichiers source julia)

Код: Выделить всё

from entsoe import EntsoePandasClient
import pandas as pd
import pyarrow

def DL(date,country_code,chemin):
# Initialisation du client avec votre clé API
print("in Dl_gen")
API_KEY = 'apiKey'  # Remplacez par votre clé API ENTSO-E
client = EntsoePandasClient(api_key=API_KEY)
psr_type = False    # non gérer dans le cadre de cette requête
eic = False         # non gérer dans le cadre de cette requête
# Téléchargement des données de production
try:
data = client.query_generation_per_plant(
country_code,
start=pd.Timestamp(date, tz='UTC'),
end=pd.Timestamp(date + pd.Timedelta(hours=23), tz='UTC'),
psr_type=psr_type,
include_eic=eic)
print("Données téléchargées pour ",date)
#data.to_parquet(chemin+country_code+'_'+date.strftime("%Y-%m-%d")+'.entsoe', engine='pyarrow', compression='snappy')
except Exception as e:
print(f"Une erreur s'est produite : {e}")
код Юлии

Код: Выделить всё

using PythonCall
using DataFrames
sys = pyimport("sys")
sys.path.append(dirname(@__FILE__))

function Entsoe(startDate::String,stopDate::String,country_code = "FR")
dates = DateTime(startDate,"yyyy-mm-dd HH:MM:SS"):Hour(1):DateTime(stopDate,"yyyy-mm-dd HH:MM:SS")+Hour(23)
for date in dates
pyimport("entsoe2fem").DL(date,country_code,"\Data")
end
end

dataEntsoe = Entsoe("2024-12-08 00:00:00","2024-12-09 00:00:00")

для выполнения этого кода необходимо установить CondaPkg в julia, чтобы установить entsoe-py и pyarrow

Код: Выделить всё

] conda add entose-py
conda add pyarrow
Цель — создать специальный пакет Julia, который позволит загружать данные с веб-сайта ENTSO-E."

Подробнее здесь: https://stackoverflow.com/questions/792 ... ot-working
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»