用python自动化玩游戏封号吗_用 Python 自动化办公能做到哪些有趣或有用的事情?...

呃,之前好像帮其他专业的同学写过几个和自动化办公相关的脚本。。。

称不上有趣,不过还算实用。。。

至少帮我可爱的同学们减少了大量重复且无趣的体力劳动。。。

比如有个环测相关专业的同学,有段时间每天白天要拿着收集环境数据的机器去马路上吸尾气,晚上还要把机器里的数据导出来整理成excel表格。。。

于是帮他写了个自动处理数据的小软件,效果大概是这个样子的:

用pyqt5写的,可以自动解析机器里导出的txt文件,并从中提取自己需要的数据项。(这应该算是自动化办公吧。。。。T_T)

好吧,还是环境相关专业的一个同学(两个同学在不同的学校T_T)。。。

因为第二天需要演讲啥的吧,所以赶PPT。。。需要把一些数据做成图表(图表的格式要统一)。。。因为数据非常多的,用excel一份份调的话估计肯定来不及了。。。

所以我帮他写了个小脚本,自动解析每个excel里的数据,并按照他要求的格式可视化处理。

效果大概是这样子的(代码实现起来其实很简单,但是用excel自带的图表可视化去一个个调的话就很麻烦了,因为他要每项数据对应一种颜色,然后还有其他要求啥的,反正听他描述手动处理确实很麻烦,如果我没记错的话T_T):

这个可以放下源码:

import csv

import copy

import matplotlib

import numpy as np

import matplotlib.pyplot as plt

from pylab import mpl

# font_c = matplotlib.font_manager.FontProperties(fname='font.TTF')

matplotlib.rcParams['font.family'] = 'Times New Roman'

colors = ['red', 'yellow', 'lime', 'cyan', 'darkviolet', 'thistle', 'deeppink', 'skyblue', 'orange', 'tan', 'coral']

names = ['燃煤锅炉整治', '民用燃料清洁化', '落后产能淘汰', '燃煤电厂超低排放改造', '散乱污企业治理', '工业源末端升级改造', '挥发性有机物治理', '交通结构优化与排放管控', '扬尘源综合治理', '农业源综合治理']

colors_dict = dict(zip(names, colors))

def drawBar(x_axis, y_axis, colors, title):

x_axis_inside = copy.deepcopy(x_axis)

x_axis_outside = (np.array(y_axis) / sum(y_axis) * 100).round(1).tolist()

tmp = []

count = 0

for i in x_axis_outside:

if i == 0:

count += 1

i = ' ' * count + str(i)

t = str(i) + '%'

tmp.append(t)

# x_axis_outside = [str(i)+'%' for i in x_axis_outside]

x_axis_outside = tmp

plt.barh(x_axis_outside, y_axis, color=colors)

for idx, text in enumerate(x_axis_inside):

plt.text(0.5, idx-0.15, text, family='FangSong', fontdict={'style': 'italic'})

if title == 'SO2':

plt.title('$SO_2$')

elif title == 'NOx':

plt.title('$NO_x$')

else:

plt.title('$PM_{2.5}$')

plt.xlabel('单位: 万吨', family='FangSong')

plt.savefig(title+'.jpg')

plt.show()

def readExcel(excelpath):

names = list()

data_so2, data_nox, data_pm25 = list(), list(), list()

with open(excelpath, 'r', encoding='gbk') as f:

csv_reader = csv.reader(f)

for idx, line in enumerate(csv_reader):

if idx > 0:

names.append(line[0])

data_so2.append(float(line[1]))

data_nox.append(float(line[2]))

data_pm25.append(float(line[3]))

return names, data_so2, data_nox, data_pm25

def preprocess(names, data, colors_dict):

tmp_dict = dict(zip(names, data))

tmp_dict = dict(sorted(tmp_dict.items(), key=lambda item: item[1], reverse=False))

names = list(tmp_dict.keys())

data = list(tmp_dict.values())

colors = [colors_dict.get(name) for name in names]

return names, data, colors

names, data_so2, data_nox, data_pm25 = readExcel('1.csv')

for idx, data in enumerate([data_so2, data_nox, data_pm25]):

names, data, colors = preprocess(names, data, colors_dict)

if idx == 0:

drawBar(names, data, colors, 'SO2')

elif idx == 1:

drawBar(names, data, colors, 'NOx')

else:

drawBar(names, data, colors, 'PM2.5')

帮同学写过挺多脚本的。。。但是大多数都找不到了。。。以后有新的再过来补充吧。

你可能感兴趣的:(用python自动化玩游戏封号吗_用 Python 自动化办公能做到哪些有趣或有用的事情?...)