也是参考各位CSDN大佬的代码,融合在一起,侵删。
import csv import matplotlib.pyplot as plt import pandas as pd from datetime import datetime file_name = 'E:\data\\0721-0727.csv' with open(file_name, 'r', encoding='utf-8') as f: reader = csv.reader(f) for i in range(6): header_row = next(reader) dates, blocks, ltes = [], [], [] for row in reader: try: current_date = datetime.strptime(row[1][0:row[1].rfind('-')], '%Y.%m.%d %H:%M') block=str(row[0]) lte=str(row[29]) if block=='###': print(current_date) print(block) print(lte) else: break #shi except ValueError: print(current_date, 'missing date') else: dates.append(current_date) blocks.append(block) ltes.append(lte) test=pd.DataFrame({'BLOCK':blocks,'DATAS':dates,'LTES':ltes}) test.to_csv('test.csv',index = None,encoding='utf8') plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['axes.unicode_minus'] = False data1 = pd.read_csv('test.csv') fig = plt.figure(figsize=(36, 24)) xdata = [] ydata = [] xdata = data1.loc[:, 'DATAS'] ydata = data1.loc[:, 'LTES'] plt.plot(xdata, ydata, color='r', marker='o', mec='r', mfc='w', label=u'LTE_下行总流量[单位:MByte]') plt.xticks(rotation=45) plt.title(u"不同时间下行总流量图", size=40) plt.legend() plt.xlabel(u'时间', size=40) plt.ylabel(u'下行总流量,单位MByte', size=40) plt.show()