目錄
一、數據分析
也不知道同事的這種數據是什麼玩意生成的數據(剛進入職場)反正主管就讓我提取數據,生成散點圖,然後保存爲excel文件(開幹就完事,臉上笑嘻嘻,心裏mmp)
文本數據預覽如下所示:
這種文件中“【】”中括號框住的數據爲有效數據(紅色框框),一個文件中有四組這樣的數據,其他爲無效數據,需要過濾。
二、方法分析
- 批量讀取數據
- 判斷是否是有效數據,根據有效數據第一個字符'['
- 對有效數據進行處理,並且存在一個list中
- 將list中的數據保存到excel中(一個文本數據中的四個有效數據要存在同一個excel文件中)
- 生成散點圖
下面附上Python代碼實現
import matplotlib.pylab as plt
import os
from xlutils.copy import copy
import xlrd
import xlwt
path = "C:\\Users\\Administrator\\Desktop\\數據\\"
for a,b,filenames in os.walk(path):
for i in filenames:
file = open(path + i)
num = 0
p = -1
while True:
q = 0
tmp = []
lines = file.readline()
if not lines:
break
#提取有效數據
if lines[0] == '[':
linesdata = lines.replace('\n', '')
linesdata = linesdata[1:-2]
linesdata = linesdata.split(',')
p = p + 1
for j in linesdata:
#上述提取中會使有效數據中的']'變成'',所以也要過濾掉
if j == '':
break
else:
tmp.append(int(j))
#將有效數據存在同一個Excel中
if os.path.exists(i + '.xls'):
old_workbook = xlrd.open_workbook(i + '.xls')
new_workbook = copy(old_workbook)
new_worksheet = new_workbook.get_sheet(0)
q = 0
for data in tmp:
new_worksheet.write(q,p,data)
q = q + 1
new_workbook.save(i + '.xls')
else:
workbook = xlwt.Workbook()
sheet1 = workbook.add_sheet(u'sheet1',cell_overwrite_ok=True)
for data in tmp:
sheet1.write(q, p, data)
q = q + 1
workbook.save(i + '.xls')
#matplotlib畫散點圖
x = [m for m in range(len(tmp))]
fig = plt.figure()
plt.scatter(x,tmp)
plt.savefig(i + '_' +str(p) +'.jpg')
plt.close(fig)
附上一個無格式的文本文件數據處理完之後生成的文件(包括一個excel文件、四個散點圖)
Python新手,大佬勿噴