pythoncsv格式_python实现csv格式文件转为asc格式文件的方法
一、背景描述
csv格式文件是一种类似于excel的文件格式
asc格式文件是一种可以用text打开的文本文件
csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),arcgis处理不了如此大的文本,所以需要通过写代码实现(注:不是用python调用arcgis工具)
二、格式说明
Csv格式:
asc图片
说明:第一列为id,第二列是值,第三第四列为值所在的行列号;csv的数据共744万行,直接打开无法全部加载
asc格式:
三、举例
需要的是将csv对应的某行某列的值prevalue,写成asc格式的文件,检验是否成功转换的方式:将转成的asc文件加载到arcmap中进行查看,如上面的aspect.asc在arcmap中是下图所示:
四、附件说明
附件中给出是一个用作示例的csv,以及上文提到的aspect.asc,用作参考
其实这个小程序的要求简单来说就是把csv数据逐行读取,然后对应地写成asc格式的文件,关键在于对asc文件格式的理解,希望在看了上述说明后,确定了解asc格式后再进行下一步的操作。
注:在arcmap中,csv转asc是这样实现的:通过创建xy事件图层,将csv转shp(此时的csv中prevalue后面是xy坐标,这里我已经将坐标转为行列号row、col了),随后通过要素转栅格工具,将shp转为栅格,最后用栅格转asc工具,将得到最终需要的asc
五、实现方式:
这里是按行依次读取,所以需要通过excel操作将row所在列按顺序依次排列
'''
Created on 2017-3-21
@author: soundslow
'''
#coding=utf-8
#python默认使用ASKII码保存文件,所以在文件开头需要声明保存编码的格式(例:#coding=utf-8)
import sys
from sys import argv
import csv
argc = '1.asc'
script ,filename = argc,argv
fw = open(argc, 'w')
# string为:从ncols到NODATA_value这几行是一样的,因为数据源是一致的
string = ("ncols 4800\nnrows 1550\nxllcorner 284687.500000\nyllcorner 2412912.500000\ncellsize 25.000000\nNODATA_value -9999.000000\n")
fw.write(string)
fr = open(argc, 'r')
with open('result_50_1.csv') as f:
reader = csv.reader(f)
'''
第一个for循环是为了提取出一个中间介质row_num作为行数的表示,
由于从表格中提取的数据(行号)并不是数字类型,
不能直接使用(1 == f_rows[2]进行判断,所以直接使用自身的类型。)
(补充:应该是字符串类型)
'''
for i,f_rows_temp in enumerate(reader):
if(i == 0):
continue
row_num = f_rows_temp[2]
print(row_num)
break
#遍历写入数据,遍历行数(即csv文件第三列f_rows[2])
for i,f_rows in enumerate(reader):
if(i == 0):
continue
if(f_rows[2] != row_num): # 判断是否换行
fw.write('\n')
row_num = f_rows[2]
fw.write(f_rows[1])
fw.write(' ')
sys.stdout.flush() #强制IO刷新,写入文件数据
print(f_rows[1]) #两个打印是为了便于观察数据运行情况
print(f_rows)
fw.close()
fr.close()
以上这篇python实现csv格式文件转为asc格式文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
pythoncsv格式_python实现csv格式文件转为asc格式文件的方法相关推荐
- python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法
一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...
- Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...
- ppt生成eps文件_如何将AI/EPS格式文件转为ppt格式
平时见到很多AI或EPS文件都想直接拿来放到PPT上,对于很多图片来说,只需转PNG就可以导入到PPT了,但对于一些图表,在导入PPT的时候还想要编辑下,这个时候就要用到下面的将AI/EPS格式文件转 ...
- 批量将json文件转为jpg格式
批量将json文件转为jpg格式 1.简介 labelme软件自带有将json文件转为jpg的代码,不过只限单张. 位于./cli/json_to_dataset.py. 2.批量生成代码 impor ...
- python3 将eps文件转为jpg格式
文章目录 1. 按 2. 准备 3. 代码 3.1. 保存成eps格式 3.2. 将eps文件转为jpg格式 1. 按 用Turtle画的图无法直接保存成jpg格式的,只能先保存成eps,再将eps转 ...
- python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式
python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式 with open('test.jpg', 'rb') as src:t = src.read(1) # 读进1B ...
- 批量将NC文件转为tif格式
批量将多年的NC文件转为tif格式进行处理(来源:https://www.geek-share.com/detail/2763962738.html) 所参考和借鉴的文章的链接如下: https:// ...
- 利用Python将WEBVTT格式的视频字幕文件转为SRT格式
1 WebVTT & SRT 格式 WebVTT字幕格式与SRT字幕格式主要区别在于时间格式的区分. 下面是一个WebVTT格式的字幕文件 WEBVTT1 00:00:20.000 --> ...
- 使用NetTopologySuite将shp文件转为GeoJson格式
使用NetTopologySuite将shp文件转为GeoJson格式 需要引入的库(NetTopologySuite可从Nuget中下载): using NetTopologySuite.Featu ...
最新文章
- 一文讲懂什么是三层交换机、网关、DNS、子网掩码、MAC地址
- css 图片剪裁居中
- windows之如何刷新电脑DNS缓存
- java 入门程序_自学 Java 怎么入门?
- 黑客借“甲型流感”传毒 挂马疾病预防控制中心网站
- C#中double.tostring()的用法
- 石河子大学计算机类学什么,石河子大学有哪些专业好,2021年石河子大学各专业排名...
- Oracle 数据库简介
- The following IP can be used to access Google website
- MOSS提升权限方法
- 软件授权注册码_授权码授予
- VS2017逐步配置OpenCV教程
- 记录在Eclipse中连接JDBC数据库的功能,并且实现增删改查
- 静态类型语言、动态类型语言、强类型定义语言、弱类型定义语言、编译型语言、解释型语言...
- YOLOv5剪枝 | 模型剪枝理论篇
- 征信篇: 如何保护个人隐私,防止征信受损?
- mac动态壁纸:Backgrounds for Mac
- 十万 百万 级数据处理 以及可视化 画图
- 动态多光源 Light-Pre-Pass Lighting 实现
- 蓝牙+语音系列产品分类
热门文章
- String.length() 与 String.getBytes().length
- HTML小游戏15 —— 网页版3D反恐英雄(附完整源码)
- 内卷的国货彩妆下,完美日记还能“火”多久?
- linux网站权限恢复,RMAN异机恢复——备份集权限问题
- 做人温和一点,做事狠一点。
- 2021年度总结 -- 万粉博主的写作荣誉分享,写博客是一种心灵的修行
- # 飞书APP集成平台-数字化落地
- 国产32层堆栈3D闪存2019年量产 2020年赶超国际
- linux系统etc什么意思,请问linux下的etc是什么意思?
- .net framework 官方下载地址