1. 程式人生 > 其它 >python對CSV檔案進行視覺化-柱狀圖

python對CSV檔案進行視覺化-柱狀圖

# 載入資料分析常用庫
import csv
import matplotlib.pyplot as plt

filename = r'D:\learn\project\reptile\job.csv'
with open(filename) as f:
    # 建立閱讀器,呼叫csv.reader()將前面儲存的檔案物件作為實參傳給他
    reader = csv.reader(f)
    # 呼叫next()一次,將檔案的第一行儲存在header_now中
    header_now = next(reader)

    # 根據索引提取公司名稱及薪資範圍,並存儲在列表中
    money = []
    for row in reader:
        money.append(row[2])

    """
    從獲取的薪資範圍列表中分別提取出每個公司給出的最低薪資和最高薪資,
    並將提取到的字串轉化為float格式儲存
    """
    # 設定變數
    one = []
    two = []
    three = []
    four = []
    five = []

    listmoney = []
    for m in money:
        num = m.split('-')  # 通過‘-’分割
        low = num[0]  # 提取最低薪資
        high = num[1].split('萬/月')[0]  # 提取最高薪資,並將字尾單位去除
        # 轉化資料格式為float
        lows = float(low)
        highs = float(high)

        listmoney.append(lows)
        listmoney.append(highs)

    for i in listmoney:
        if 0 < i <= 1:
            one.append(i)
        elif 1.0 < i <= 1.5:
            two.append(i)
        elif 1.5 < i <= 2.0:
            three.append(i)
        elif 2.0 < i <= 2.5:
            four.append(i)
        elif i >= 2.5:
            five.append(i)

    """
    繪製柱狀圖

    """
    # 用來正常顯示中文標籤
    plt.rcParams['font.sans-serif'] = ['SimHei']
    # 圖示描述
    labels = ['0-1萬/月', '1-1.5萬/月', '1.5-2萬/月', '2~2.5萬/月', '2.5+ 萬/月']
    # 對應變數
    values = [len(one), len(two), len(three), len(four), len(five)]
    print(values)

    # 圖表題目
    plt.title("上海市軟體測試薪資分佈", fontsize=16, pad=15)

    # 各項屬性
    plt.tick_params(axis='both', which='major', labelsize=10)

    plt.bar(labels,values,bottom= 10)

    # 顯示圖片
    plt.show()



顯示效果: