基于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 08 Python
Python中正则表达式详解
May 17 Python
浅析使用Python操作文件
Jul 31 Python
python中hashlib模块用法示例
Oct 30 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
在Python中使用Neo4j的方法
Mar 14 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
tensorflow安装成功import tensorflow 出现问题
Apr 16 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 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查看网页源代码的方法
2015/03/13 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
简单谈谈ES6的六个小特性
2016/11/18 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
python二叉树的实现实例
2013/11/21 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
Python中的字符串替换操作示例
2016/06/27 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
Python的高阶函数用法实例分析
2019/04/11 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
信息专业本科生个人的自我评价
2013/10/28 职场文书
车间调度岗位职责
2013/11/30 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏