Python纯技术————数据写入Excel

青春壹個敷衍的年華 提交于 2019-12-20 04:59:01

引言:Python作为时下流行的语言,数据写入Excel是必要的操作。总是在微信广告里面看到很扯蛋的广告,一个员工问另一个员工为啥你这么快就把表格处理完了啊?结果“一顿操作猛如虎,键盘乱敲二百五”。广告归广告,今天我就来介绍一下他们到底敲了撒。GO!

正文:

条件1.一个你需要处理的文件夹(包含你数据随便什么都可以那是你的Things)

条件2.一个空的文件夹

接下来跟着姐姐敲:(姐姐处理的是气象数据,请各位读者换自己需要处理的数据)

from netCDF4 import Dataset #(这个可以不用哈笔者分析的是气象数据)
import numpy as np
import pandas as pd
import xlsxwriter
import os
#导入有缺失模板的 一言不合就pip install modulename

#file_name为写入excel文件的路径,datas为要写入数据列表
def data_write_excel(file_name, time,longitude,latitude,rain):
    workbook = xlsxwriter.Workbook(file_name) #认真读
    workfomat = workbook.add_format({
        'bold': True,  # 字体加粗
        'border': 1,  # 单元格边框宽度
        'align': 'center',  # 对齐方式
        'valign': 'vcenter',  # 字体对齐方式
        # 'fg_color': 'blue',  # 单元格背景颜色
    })
    cellfomat = workbook.add_format({
        'border': 1,  # 单元格边框宽度
        'align': 'center',  # 对齐方式
        'valign': 'vcenter',  # 字体对齐方式
    })
    cellfomatRain = workbook.add_format({
        'align': 'center',  # 对齐方式
        'valign': 'vcenter',  # 字体对齐方式
    })
    time=str(time[0])
    sheet = workbook.add_worksheet(time)
    sheet.set_column(0,len(latitude),20)
    sheet.activate()  # 激活工作表
    sheet.write(0, 0, '横纬竖经',workfomat)  # 行, 列, 值
    count = 1
    #经度数据
    for J in longitude:
        sheet.write(count, 0,str(J),cellfomat)  # 行, 列, 值  ——————竖着的经度
        count=count+1
    count =1
    #维度数据
    for W in latitude:
        sheet.write(0, count,str(W),cellfomat)  # 行, 列, 值  ——————横着的纬度
        count=count+1
    #处理雨水数据
    for data in  rain:
        columnIndex = 1
        for W_rain in data:
            rowIndex = 1
            for J_rain in W_rain:
                singal_rain_data=str(J_rain)
                sheet.write(rowIndex,columnIndex , singal_rain_data,cellfomatRain)  
# 行, 列, 值
                rowIndex=rowIndex+1
            columnIndex = columnIndex + 1
    workbook.close()   #关闭工作表
    print("保存文件成功:"+file_name+"\n"+"............")


#批量读取数据(请换成读者的数据,小小动一下脑壳,别睁眼当瞎瞎噢!)
fileList = os.listdir("E:\\untitled\\venv\\MERGE") #这个文件夹包含了笔者的数据
for temfile in fileList:
    if temfile.__contains__(".nc"):#这里笔者读取的是.nc 文件 
        nc_file = "E:\\untitled\\venv\\MERGE\\"+temfile
        fh=Dataset(nc_file, mode='r')
        time=fh.variables['time']  
        longitude=fh.variables['longitude']
        latitude=fh.variables['latitude']
        rain=fh.variables['rain']
        file_name=temfile.split('.')[0]
        exportData="E:\\untitled\\venv\ExportData\\"+file_name+".xlsx"
        data_write_excel(exportData,time,longitude,latitude,rain)
        fh.close()

当你看到它们一个一个生成的时候,你就入坑了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!