You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks中读取并显示指定路径下所有文件的内容?

解决方案

dbutils.fs.ls() 仅能列出文件/目录的元信息(路径、大小等),无法直接读取文件内容。要实现显示所有目标路径下文件的内容,需要先遍历路径下的所有文件,再逐个读取内容。

文本文件读取示例

如果你的文件是文本格式(如.txt、.log等),可以用以下代码:

# 定义所有要处理的目录路径
target_dirs = [
    "/mnt/nikhil/2024",
    "/mnt/nikhil/2023",
    "/mnt/akhil/2024",
    "/mnt/akhil/2023"
]

# 遍历每个目标目录
for dir_path in target_dirs:
    # 获取目录下的所有条目(文件+子目录)
    items = dbutils.fs.ls(dir_path)
    # 筛选出文件(排除子目录)
    file_items = [item for item in items if not item.isDir()]
    
    print(f"=== 目录 {dir_path} 下的文件内容 ===")
    # 逐个读取并打印文件内容
    for file in file_items:
        file_path = file.path
        print(f"\n--- 文件路径: {file_path} ---")
        # 读取文件内容(默认读取前65536字节,大文件需调整)
        file_content = dbutils.fs.head(file_path)
        print(file_content)

大文件/其他格式文件处理

  • 如果文件过大,dbutils.fs.head() 无法读取完整内容,可使用Spark的读取API:
    # 读取大文本文件并显示所有内容
    df = spark.read.text(file_path)
    df.show(df.count(), truncate=False)
    
  • 针对CSV、Parquet等结构化文件,需对应使用Spark的专用读取方法:
    # CSV文件(含表头)
    csv_df = spark.read.csv(file_path, header=True)
    csv_df.show()
    
    # Parquet文件
    parquet_df = spark.read.parquet(file_path)
    parquet_df.show()
    

内容的提问来源于stack exchange,提问作者nikhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:02:45