基于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创建模块及模块导入的方法
May 27 Python
详解Python中dict与set的使用
Aug 10 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
Python数据分析之如何利用pandas查询数据示例代码
Sep 01 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
浅析python参数的知识点
Dec 10 Python
python绘制多个子图的实例
Jul 07 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
对Django中内置的User模型实例详解
Aug 16 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
Python select及selectors模块概念用法详解
Jun 22 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
使用PHP维护文件系统
2006/10/09 PHP
php中iconv函数使用方法
2008/05/24 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
理解javascript中的闭包
2017/01/11 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
react redux入门示例
2018/04/19 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python内存管理机制原理详解
2019/08/12 Python
详解Python中namedtuple的使用
2020/04/27 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
光电信息专业应届生求职信
2013/10/07 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
学前班语言教学计划
2015/01/20 职场文书
出生公证书
2015/01/23 职场文书
春节慰问信范文
2015/02/15 职场文书
冰雪公主观后感
2015/06/16 职场文书
初一英语教学反思
2016/02/15 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python