基于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 算法 排序实现快速排序
Jun 05 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
Aug 30 Python
Python面向对象进阶学习
May 21 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
解决pycharm安装第三方库失败的问题
May 09 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
python 下划线的多种应用场景总结
May 12 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
javascript 小型动画组件与实现代码
2010/06/02 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
3种python调用其他脚本的方法
2020/01/06 Python
Python递归实现打印多重列表代码
2020/02/27 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
优秀经理事迹材料
2014/02/01 职场文书
项目转让协议书
2014/10/27 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
团员自我评价范文
2015/03/10 职场文书
如何写观后感
2015/06/19 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android