I don't understand why this does not work:
dfs_map = Enum.reduce(fileList, %{}, fn %{ "split" => split, "url" => url }, acc ->
case Explorer.DataFrame.from_parquet(url) do
{:ok, df} -> Map.update(acc, split, [df], fn dfs -> [df | dfs] end)
{:error, _} ->
IO.puts("Error processing file: #{url}")
acc
end
end)````
while this work:
```elixir
urls_map = Enum.reduce(fileList, %{}, fn %{ "split" => split, "url" => url }, acc ->
Map.update(acc, split, [url], fn urls -> [url | urls] end)
end)
dfs_map = Map.new(urls_map, fn {key, urls} ->
dfs = Enum.map(urls, fn url ->
case DataFrame.from_parquet(url) do
{:ok, df} -> df
{:error, reason} ->
IO.puts("Error loading DataFrame from URL #{url}: #{reason}")
nil # or handle the error as needed
end
end)
{key, dfs}
end)