← 返回博客列表
Bloomberg

Bloomberg 面試題:遍歷資料夾並彙總 CSV 第二欄總和

2025-12-18

題目描述

在一個資料夾及其子資料夾中散落著多個 .csv 檔案。每個 CSV 的第二欄都是整數。

請實作 process_path(path)

範例:

.
|-- a
|   `-- b
|       `-- ex.csv
|-- example.csv
`-- ignoreme.log

ex.csv:
a,5,-1,-1,0
a,10,-1,-1,0

example.csv:
b,0,-1,-1,0
b,-3,-1,-1,0

結果:12

解題思路

使用 os.walk 遍歷目錄,篩選 .csv 後逐行累加第二欄。

Python 參考實作

import os
import csv


def process_csv(filepath: str) -> int:
    total = 0
    with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
        reader = csv.reader(f)
        for row in reader:
            if len(row) >= 2:
                total += int(row[1])
    return total


def process_path(path: str) -> int:
    total = 0
    for root, _, files in os.walk(path):
        for name in files:
            if name.endswith('.csv'):
                total += process_csv(os.path.join(root, name))
    return total

複雜度


需要面試輔助服務?聯絡 OA VO Service

需要面試真題? 立刻聯繫微信 Coding0201,獲得真題