基于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 相关文章推荐
python的类方法和静态方法
Dec 13 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
浅谈Python type的使用
Nov 19 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
python3.7添加dlib模块的方法
Jul 01 Python
python获取整个网页源码的方法
Aug 03 Python
详解python实现可视化的MD5、sha256哈希加密小工具
Sep 14 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
PyTorch的Debug指南
May 07 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
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
PHP Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
js实现转动骰子模型
2019/10/24 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
Python yield 使用方法浅析
2017/05/20 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
佳能法国商店:Canon法国
2019/02/14 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
银行求职信个人范文
2013/12/16 职场文书
带薪年假请假条
2014/02/04 职场文书
文明班级申报材料
2014/12/24 职场文书
警告通知
2015/04/25 职场文书
鉴史问廉观后感
2015/06/10 职场文书