基于python批量处理dat文件及科学计算方法详解


Posted in Python onMay 08, 2018

摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作。

批处理文件功能

import os
path1 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test1'
path2 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test2'
filelist = os.listdir(path1)
for files in filelist:
 Olddir = os.path.join(path1,files)
 filename = os.path.splitext(files)[0]
 filetype = os.path.splitext(files)[1]
 print Olddir
 file_test = open(Olddir,'r')
 Newdir = os.path.join(path2,str(filename)+'.csv')
 print Newdir
 file_test2 = open(Newdir,'w')
 for lines in file_test.readlines():
 strdata = ",".join(lines.split('\t'))
 file_test2.write(strdata)
 file_test.close()
 file_test2.close()

os模块是python最基础的模块之一,一般用于文件处理等操作。上面这段代码主要就是将dat文件转化为csv文件,同时保证csv可读。一般txt文件不能通过直接改后缀改变呈csv文件格式,一般会造成文件不可读。csv文件一般通过逗号分隔文本,数据处理起来较得心应手,可以直接改后缀得到xlsx文件,一般excel也可读。

科学计算

matlab作为一门科学计算编程语言,在科学计算的应用实在广泛,包括webread等强大的函数用起来十分顺手,但matlab是商业软件,并不免费。其实,python在科学计算效率或函数库功能包括其绘图功能、图像处理都很强大,(相比matlab,python的调色板更出色)。以下列举一些数据文件读取,绘图的一些基本操作作为参考。

数据提取及绘图

#数据提取
import os 
import pandas as pd
import numpy as np
number = -1;
sudu=np.zeros(5247*5,dtype=float).reshape(5247,5)
for files in filelist1:
 number +=1
 data = pd.read_csv(str(number+1)+'a.csv')
 sudu[:,number]=data['velocity']
 x = data['x']
 y = data['y']
a = sudu[0:5184,0].reshape(81,64)
%matplotlib inline
import matplotlib.pyplot as plt
extent = [np.min(x),np.max(x),np.min(y),np.max(y)]
plt.subplot(231)
u0 = sudu[0:5184,0].reshape(81,64)
plt.imshow(u0,extent=extent,origin='lower')
plt.subplot(232)
u1 = sudu[0:5184,1].reshape(81,64)
plt.imshow(u1,extent=extent,origin='lower')
plt.subplot(233)
u2 = sudu[0:5184,2].reshape(81,64)
plt.imshow(u2,extent=extent,origin='lower')
plt.subplot(234)
u3 = sudu[0:5184,3].reshape(81,64)
plt.imshow(u3,extent=extent,origin='lower')
#plt.axis("equal")
plt.subplot(235)
u4 = sudu[0:5184,4].reshape(81,64)
plt.imshow(u4,extent=extent,origin='lower')
plt.subplot(236)
u5 = sudu[0:5184,4].reshape(81,64)
plt.imshow(u5,extent=extent,origin='lower')
#contour
cs = plt.contour(u5, 20,extent = extent)
plt.xlim(-0.8,0.8)
plt.ylim(0.6,2.2)
plt.axis('equal')

基于python批量处理dat文件及科学计算方法详解

基于python批量处理dat文件及科学计算方法详解

python的科学计算功能与matlab及其相似,python有几点不同在于

1.python有元组的数据类型,元组不同于列表,元组不可更改

2.python的数据检索使用[]

总而言之,python的数据形式及其丰富。

numpy以及pandas是python用于数据处理的两个库,具体使用方法主要推荐python科学计算这本书。matplotlib用于绘图,刚也说了,其调色板很厉害哦,图像质量不错。

预告:代码运行环境均为jupyter notebook,简直神器一般的存在,网上搭建的资料也太多。

以上这篇基于python批量处理dat文件及科学计算方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
python设定并获取socket超时时间的方法
Jan 12 Python
详解python中sort排序使用
Mar 23 Python
详解python配置虚拟环境
Apr 08 Python
python实现QQ批量登录功能
Jun 19 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
python自动发微信监控报警
Sep 06 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 #Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 #Python
儿童编程python入门
May 08 #Python
解决python大批量读写.doc文件的问题
May 08 #Python
python在每个字符后添加空格的实例
May 07 #Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 #Python
python 读取DICOM头文件的实例
May 07 #Python
You might like
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
PHP开发文件系统实例讲解
2006/10/09 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
jquery简单体验
2007/01/10 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
详解node.js的http模块实例演示
2018/07/12 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
js实现简单扫雷
2020/11/27 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
python配置文件写入过程详解
2019/10/19 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
个人评价范文分享
2014/01/11 职场文书
出国签证在职证明
2014/01/16 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
工程移交协议书
2016/03/24 职场文书
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS