基于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 相关文章推荐
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
python numpy 按行归一化的实例
Jan 21 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
Python itertools.product方法代码实例
Mar 27 Python
python三引号如何输入
Jul 06 Python
Python: glob匹配文件的操作
Dec 11 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 Python
python神经网络Xception模型
May 06 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正则走开
2008/03/15 PHP
初识laravel5
2015/03/02 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
2016/12/08 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
Python与shell的3种交互方式介绍
2015/04/11 Python
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
python多进程控制学习小结
2018/10/31 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Python 防止死锁的方法
2020/07/29 Python
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
德国苹果商店:MacTrade
2020/05/18 全球购物
互联网创业计划书的书写步骤
2014/01/28 职场文书
自动化毕业生专业自荐书范文
2014/02/04 职场文书
《白鹅》教学反思
2014/04/13 职场文书
取保候审保证书
2014/04/30 职场文书
大学班级学风建设方案
2014/05/01 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
电频谱管理的原则是什么
2022/02/18 无线电