W notebooku Azure DataBricks próbuję przeprowadzić transformację na niektórych CSV, które znajdują się w magazynie BLOB, przy użyciu następujących czynności:

*import os
    import glob
    import pandas as pd
    os.chdir(r'wasbs://dalefactorystorage.blob.core.windows.net/dale')
    allFiles = glob.glob("*.csv") # match your csvs
    for file in allFiles:
       df = pd.read_csv(file)
       df = df.iloc[4:,] # read from row 4 onwards.
       df.to_csv(file)
       print(f"{file} has removed rows 0-3")*

Niestety otrzymuję następujący błąd:

* FileNotFoundError: [errno 2] Brak takiego pliku lub katalogu: "WASBS: //dalefactoryStore.blob.core.Windows.net/dale"

Brakowam czegoś? (Jestem całkowicie nowy).

Twoje zdrowie,

Dołek

0
dale 12 październik 2020, 11:09

1 odpowiedź

Najlepsza odpowiedź

Jeśli chcesz użyć pakietu pandas, aby przeczytać plik CSV z Azure Blob, i napisz Ten plik CSV do Azure Blob w Azure Data-Data-DataBricks, sugeruję, abyś zamontować magazyn Azure Blob, a następnie system plików DABRICKS. Więcej informacji można znaleźć w Oto.

Na przykład

  1. Góra Lazurowa Blob.
dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"fs.azure.account.key.<storage-account-name>.blob.core.windows.net":"<account access key>"})

enter image description here

  1. Proces CSV.
import os
import glob
import pandas as pd

os.chdir(r'/dbfs/mnt/<mount-name>/<>')
allFiles = glob.glob("*.csv") # match your csvs
for file in allFiles:
    print(f" The old content of  file {file} : ")
    df= pd.read_csv(file, header=None)
    print(df)
    df = df.iloc[4:,]
    df.to_csv(file, index=False,header=False)
    print(f" The new content of  file {file} : ")
    df= pd.read_csv(file,header=None)
    print(df)
    break

enter image description here enter image description here

0
Jim Xu 13 październik 2020, 06:09