今天碰到一个工作场景挺有趣的,虽然python的写法并没有什么高大上,不过确实相当经典的案例,适合初学者。
不多说其它的,直接进入主题:
工作场景:一个微软旗下的表格文件,单个表,500列数据,每列数据长度不等,需要提取每列数据出来,每列数据单独输出一个txt文档。
可以看到有密密麻麻的数据列,如果人工搞,分分钟会晕掉,并且不能保证没有出错。这种重复性劳动非常适合用程序处理。
思路:首先分析文件,微软旗下的表格文件,python处理起来要用插件,其实可以将表格内容复制到CSV文件去,为什么呢,因为可以完美兼容。而CSV处理起来跟TXT类似,做个split分类就可以分分钟玩得飞起来。
转换文件后,那么就容易处理。
第一,读入数据,file = open(this_is_file,'r',encoding='utf-8').readlines()
第二,for结构,这样才能每行数据都读取到
第三,要注意了,需要输出每列,那么首先要统计出输出多少个文件,我们可以用len来获取随便一行数据的长度,多少列就是多少个文件
第四,这个时候要会思考,两个FOR结构是常用的做法,那个先那个后非常讲究
第一个for是输出单个文件,第二个for是轮询各行数据,并且要调用第一个for的数据来控制读取的列数。最后就是用数组载入适合的数据,输出单个文件。核心想法主要是如何控制数据的读取顺序。这次的归类数据为第一行数据,就是名称的缩写。
如果的每行数据输出为单独文件,则要调换相关的for和控制参数