基于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中的装饰器、闭包和functools的教程
Apr 02 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
Python unittest模块用法实例分析
May 25 Python
详解python3中zipfile模块用法
Jun 18 Python
Python动态生成多维数组的方法示例
Aug 09 Python
python os.path模块常用方法实例详解
Sep 16 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
Feb 20 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
详细分析Python垃圾回收机制
Jul 01 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
php网上商城购物车设计代码分享
2012/02/15 PHP
跟我学Laravel之安装Laravel
2014/10/15 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
ext 代码生成器
2009/08/07 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
Python实现爬取逐浪小说的方法
2015/07/07 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
农村婚庆司仪主持词
2014/03/15 职场文书
伊索寓言教学反思
2014/05/01 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python