基于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实现简单字典树的方法
Apr 29 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
如何实现删除numpy.array中的行或列
May 08 Python
Python global全局变量函数详解
Sep 18 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
python 发送json数据操作实例分析
Oct 15 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 Python
python def 定义函数,调用函数方式
Jun 02 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 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 高效率写法 推荐
2010/02/21 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
python里大整数相乘相关技巧指南
2014/09/12 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
风险评估实施方案
2014/03/09 职场文书
贺卡寄语大全
2014/04/11 职场文书
重点工程汇报材料
2014/08/27 职场文书
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python