引言: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()
当你看到它们一个一个生成的时候,你就入坑了。