取消
顯示的結果
而不是尋找
你的意思是:

讀取excel文件,添加一個數據幀數據磚從azure數據湖沒有特定的文件名

User16765131552
貢獻者三世

我在Azure存儲excel文件數據湖(創1)。他們遵循文件名遵循相同的模式“2021 - 06 - 18 t09_00_07onr_usage_dataset”,“2021 - 06 - 18 t09_00_07dss_usage_dataset”等根據日期和時間。我想讀所有的文件在文件夾位於Azure數據湖磚不用名字的具體文件,以便在未來新文件讀取和附加到一個大的數據集。這些文件都是一樣的模式,列在同一個訂單,等。到目前為止,我已經嚐試for循環與正則表達式:

路徑= dbutils.fs.ls (/ mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp /”) fi的路徑:“fi的路徑:打印(fi)閱讀= spark.read.format (“com.crealytics.spark.excel”)。選項(“頭”,“真正的”)。選項(“inferSchema”,“真正的”)。選項(“dataAddress”,“使用數據集”! A2) .load (fi.path)顯示(讀)打印(read.count ())

打印所有的輸出路徑和重要的每個數據集被閱讀,但它隻顯示最後一個。我理解因為我不存儲或附加在for循環,但是當我添加附加它打破。

appended_data = [] = dbutils.fs.ls路徑(/ mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp /”) fi的路徑:“fi的路徑:打印(fi)閱讀= spark.read.format (“com.crealytics.spark.excel”)。選項(“頭”,“真正的”)。選項(“inferSchema”,“真正的”)。選項(“dataAddress”,“使用數據集”! A2) .load (fi.path)顯示(讀)打印(read.count ()) appended_data.append(閱讀)

但我得到這個錯誤,FileInfo(路徑= ' dbfs: / mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp / Initialization_DSS。xlsx Initialization_DSS, name =。xlsx”,大小= 39781)TypeError:不支持類型:<類“py4j.java_gateway.JavaObject”>

我試著最後的方式:

李的f = [] glob.glob (“/ mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp / * _Usage_Dataset.xlsx”): df = pd.read_xlsx (f) li.append = pd (df)框架。concat (li軸= 0,ignore_index = True)

這表示,沒有對象連接。我一直在研究,嚐試一切。請幫助。

1回複1

Ryan_Chynoweth
尊敬的貢獻者三世

如果你正試圖讀一個目錄中的所有文件你應該能夠使用一個通配符和過濾器使用擴展。例如:

df =(火花.read .format .option (“com.crealytics.spark.excel”)(“頭”,“真正的”).option .option (“inferSchema”、“True”) (“dataAddress”,“使用數據集”! A2) .load (/ mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp / * _Usage_Dataset.xlsx '))

應閱讀所有.xlsx該目錄中的文件。

如果你想閱讀文件就可以遍曆的一個子集,得到一個python中的所有文件路徑列表,然後提供當閱讀列表。例如:

文件= dbutils.fs.ls (/ mnt / adls / 40 _project /哥倫比亞大學/在製品/汞/ UUR_PS_raw_temp /”) files_list = [] f文件:#使用if語句來確定如果你想添加的路徑列表files_list.append (f.path) df =(火花.read .format .option (“com.crealytics.spark.excel”)(“頭”,“真正的”).option .option (“inferSchema”、“True”) (“dataAddress”,“使用數據集”! A2) .load (files_list))

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map