问题要求:

编写一个函数完成以下任务:截取经度在23°N-40°N,纬度在118°E-131°E范围内各属性不同深度的数据,使用Python中合适的数据结构将截取的数据保存到同名CSV文件中。(nc文件数据格式参见笔者其他文章)

实验内容(附代码)

实验数据介绍(通过实验介绍你对NC数据的认识)

nc文件即NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”。 一个NetCDF文件的结构包括以下对象:变量(Variables),维(dimension),属性(Attribute) 。

本次查看的nc文件其中包括 (['salinity', 'time', 'depth', 'lat', 'lon', 'water_temp']) 一共5个变量。其中’salinity’和’water_temp’两个变量有四个维度,表示为

‘salinity(time, depth, lat, lon)’和’water_temp(time, depth, lat, lon)’。每个变量有自己的属性值,例如纬度’lat’,表示为

float64 lat(lat)

long_name: Latitude

standard_name: latitude

units: degrees_north

axis: Y

NAVO_code: 1

_CoordinateAxisType: Lat

实验步骤(记录实验过程,配图加以说明)

实验1:简单的安装netCDF4包,然后用这个包下的Dateset函数来读取文件信息。

实验2:

1.设一个函数,然后用Dateset函数读取nc文件

2.获取变量相应数组集合-纬度经度温度深度

3.文件路径

4.创建csv文件,设置异常处理

这里用嵌套循环将符合条件的值writerow到创建的csv文件中。

5.’__name__==__main__’模块

这个模块的作用是既能保证当前的.py文件能直接运行,也能保证其可以作为模块被其他.py文件导入。

实验结果

成功生成了对应的csv文件。其中共有34345行数据。

实验参考资料

参考博客:

如何在PyCharm中安装第三方库(包)?

http://www.360doc.com/content/18/0822/17/11881101_780384182.shtml

NC文件读写方式

https://blog.csdn.net/ennaymonkey/article/details/62886843

Python读取nc文件

https://blog.csdn.net/showpingzhang/article/details/83384780

Python读写csv文件的几种方法 及 pandas.read_csv参数全解

实验总结与体会

本次实验是我第一次使用python来处理数据集。通过本次实验,

加深了对nc文件的认识。

对python处理数据的方法有了一定了解。

对python用于数据处理计算的库例如netCDF4和numpy有了一定了解。

对于python的文件操作有了一定认识。import pandas

import netCDF4 as ne

import numpy as np

import csv

import glob

import sys

def to_csv(source_file):

#读取nc数据

dataset=ne.Dataset(source_file)

print(dataset.variables.keys())

#获取相应数组集合--纬度经度温度深度

lat_set = dataset.variables['lat'][:]

lon_set = dataset.variables['lon'][:]

temp_set=dataset.variables['water_temp'] [:]

dep_set=dataset.variables['depth'][:]

index = [] # 把满足条件的经纬度放入列表index之中

for j in range(len(lat_set)): # j为纬度

for k in range(len(lon_set)): # k为经度

if lat_set[j] > 23 and lat_set[j] < 40:

if lon_set[k] > 118 and lon_set[k] < 131:

index.append((j, k)) # 插入满足条件的数据

print('输出index列表:')

print(index)

print('-------------------------------------------------------------------')

#文件名不含扩展名

source_file=source_file.split('.')

file_name=source_file[0]

#创建csv目标文件

try:

#打开目标csv文件

with open(file_name+'.csv','a',newline='') as targetFile:

# 创建写入流

writer = csv.writer(targetFile)

# 写入表头

writer.writerow(('lat', 'lon', 'temperature', 'depth',

))

# 写入数据

for j in range(len(lat_set)): # j为纬度

for k in range(len(lon_set)): # k为经度

if lat_set[j] > 23 and lat_set[j] < 40:

if lon_set[k] > 118 and lon_set[k] < 131:

i=0

writer.writerow((lat_set[j], lon_set[k], temp_set[0][i][j][k], dep_set[i]))

targetFile.close()#关闭文件

print('Get'+file_name+'.csv Success!')

except Exception as e:#抛异常

print('Error :'+str(e))

if '__name__ ==__main__':

print("start transfrom!")

to_csv('20150101.nc')

print('Transform successfully')

python读取nc文件并转换成csv_使用Python截取nc文件数据保存到CSV文件-Go语言中文社区...相关推荐

  1. Python中用pandas将numpy中的数组数据保存到csv文件

    Python中用pandas将numpy中的数组数据保存到csv文件 本博客转载自:[1]https://blog.csdn.net/grey_csdn/article/details/7018587 ...

  2. 老鱼Python数据分析——篇七:将爬取的数据保存到CSV文件

    使用Python操作CSV文件非常方便,三行代码搞定. 一.向文件中追加数据 import csv# 将数据写入文件 with open("d:\\data.csv", " ...

  3. 爬取豆瓣音乐TOP250数据保存到csv文件和xls文件

    爬取的目标网址:https://music.douban.com/top250 利用lxml库,获取前10页的信息,需要爬取的信息包括歌曲名.表演者.流派.发行时间.评分和评论人数,把这些信息存到cs ...

  4. Python读取xlsx表格并转换成Python列表

    Python读取xlsx表格并转换成Python列表 参考链接https://www.cnblogs.com/ilovepython/p/11068841.html import xlrd from ...

  5. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  6. python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和电影图片,分别保存到csv文件和文件夹中

    python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和图片,分别保存到csv文件和文件夹中. 爬取的数据包括每个电影的电影名 , 导演 ,演员 ,评分,推荐语,年份,国家,类型. py如果 ...

  7. 使用Python对PDF文件进行词频统计分析并保存到CSV文件中

    PDF转TXT文件要安装的库 pdfminer3k 分词处理要安装的库 jieba # -*- coding:utf-8 import sys import importlib importlib.r ...

  8. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  9. 爬虫实战4:爬取猫眼电影排名Top100的详细数据保存到csv文件

    申明:资料来源于网络及书本,通过理解.实践.整理成学习笔记. 文章目录 猫眼电影 完整代码 运行结果 猫眼电影 完整代码 import time import requests import re i ...

最新文章

  1. iOS访问系统日历 添加提醒事件
  2. 『Python Web框架之Django』第几节: AJAX
  3. Java LinkedList特有方法程序小解 使用LinkedList 模拟一个堆栈或者队列数据结构。...
  4. boost::math::barycentric_rational用法的测试程序
  5. JVM(4)之 使用MAT排查堆溢出
  6. BugkuCTF-MISC题split
  7. 流水线调度(51Nod-1205)
  8. hint oracle qbname_从才oracle中找到所有列名为BANK_ACC,且BANK_ACC=000的项,并将BANK_ACC=000000的项修改为BANK_ACC=111...
  9. php嗅探链接,教你如何利用php来嗅探劫持服务器数据
  10. c语言大神,C语言入门大神有话说(一)
  11. 计算机ping使用的端口,Win7系统中如何Ping端口?Ping端口命令的用法
  12. LoadRunner 11.50 下载+安装+补丁
  13. 在计算机上怎么找资源管理器,资源管理器怎么打开 教你如何快速打开资源管理器...
  14. 百度阅读赚钱秘法 人人皆可操作
  15. Linux IPTABLES 防火墙专题讲座 - 上篇-龙小威-专题视频课程
  16. html避免多次点击选中页面文字或者内容时出现蓝色背景
  17. JFFS2文件系统挂载过程(5)
  18. 重新整理秋招准备的思路-9.20
  19. 基于Activiti的流程应用开发平台JSAAS-WF V5.3
  20. 科大讯飞董事长刘庆峰:人工智能窗口期有多远?【软件网每日新闻播报│第10-19期】

热门文章

  1. 简单理解--java反射(面试必备)
  2. 网易云音乐java爬虫_一起来写网易云音乐Java爬虫
  3. [Excel.VBA常用代码实战大全].袁竹平.扫描版百度云
  4. Velocity语法介绍
  5. 西北工业大学c语言程序设计试题,西北工业大学15春《C语言程序设计》在线作业答案...
  6. AWS在中国推出教育技术创业加速计划AWS EdStart
  7. 测开转回开发经历感悟
  8. 列车调度系统属于计算机应用中的,2020年12月网络教育​统考《计算机应用基础》基础知识试题及答案1...
  9. 九、CentOS7安装HDF5
  10. 通过TMS320F28335学习DSP的开发流程——28335的基础知识(2)