python如何读取数据保存为新格式_python,初学者应用实例:读取文件中的数据,将将北京时间转换成世界时间,再保存成新的CSV格式文件...

数据格式转换是科研工作中经常需要完成的任务。本程序实现了这个功能。将文本文件“TableS1.dat”中的数据读取,原文件格式为:

No Date Time Mag Dis

11999/07/2505:28:39.580

21999/07/2523:06:31.940

31999/08/0601:54:40.6001.012.5

41999/08/1708:01:14.260

51999/08/1923:15:47.3200.71

该文件数据间隔为空,但空格数不一致,有时还用的是制表符,因此程序开关一段代码(已经注释掉)实现的是将这个文本文件读取并转存为标准的CSV文件。

然后再读取CSV文件,完成北京时间转换为世界时,并另存为“UTC_Table.csv”。这段代码虽然不长,但实现了数据读取,处理,时间格式处理等功能,具有很好的参考价值。

完整代码如下:

import time

import pandas as pds

# 将原始数据文件TableS1.dat转成标准的CSV文件。注意原始文件中输入数据的空格不规范,空格数不相同,有的还是制表符。

# with open('newTableS1.csv', 'w') as f1:

# with open('TableS1.dat', 'r') as f2:

# for line in f2:

# old_line = line.strip().split('\t')

# new_line = [i for i in old_line if i != '']

# print(new_line)

# new_line = ','.join(new_line)

# print(new_line)

# f1.write(new_line + '\n')

data = pds.read_csv('newTableS1.csv')

btc_date = data['Date']

btc_time = data['Time']

with open('UTC_table.csv', 'w') as f:

f.write('No,Date,Time,Mag,Dis' + '\n')

for i in range(len(btc_date)):

hr, min, sec = btc_time[i].strip().split(':')

utc = btc_date[i] + '-' + hr

utc_str = time.strptime(utc, '%Y/%m/%d-%H') # 将当前时间字符串转换为结构化时间,注意,这里只把小时加进来,分和秒不影响北京时转世界时

utc_timestamp = time.mktime(utc_str) #将结构化时间转换为时间戳

new_date = time.gmtime(utc_timestamp) # 将时间戳转换成世界时结构化时间

utc_date = '/'.join([str(new_date.tm_year), str(new_date.tm_mon), str(new_date.tm_mday)])

utc_time = ':'.join([str(new_date.tm_hour), min, sec])

new_line = [str(data['No'].loc[i]), utc_date, utc_time, str(data['Mag'].loc[i]), str(data['Dis'].loc[i])]

new_line = [i for i in new_line if str(i) != 'nan'] # 删除空元素

line = ','.join(new_line)

print(line)

f.write(line + '\n')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈工大三本计算机考研,纯干货【普通三本逆袭哈工大】—城市规划考研必胜经验...

【专业课】楼主就想起来什么就总结点什么吧,你们就知足吧!话说专业课是你相对来说比较吃亏的一科目(与本校学生相比较),为什么说吃亏呢?No.1:人家本校都学过,至少知道每门课的知识点是什么,每个…

excel转las文件_这3种Word、Excel格式不变的互转方法,实在太好用了

日常工作中用Word写总结、写报告,写分析,一定离不开数据支持。但在制作的过程中你一定碰到过这些问题:Excel里做的表格、图表,一复制到word就变的乱七八糟!那么,有没有什么好的方法,即省时&…

stm32编码器正反转计数程序_光电编码器接线图分析

编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。光电编码器如果按信号原理来分类的话,可以分为增量型编码器和绝对型编码器。旋转编码器是一种光电式旋转测量装置,它将被测的角位移直接转换成数字信号…

jieba库词频统计_如何用python对《三国演义》、《红楼梦》等名著开展词云分析及字频统计、出场统计等工作。...

以下以《红楼梦》为例进行设计。在制作词云图及统计之前,需要下载python的几个库,wordcloud、jieba以及imageio等,我的操作系统为Windows10,IDE环境为idle,下载方式就直接搜索cmd,打开命令提示符窗口&#…

计算机学院考勤管理办法,计科学院进一步加强课堂考勤实施意见(试行)

为了加强课堂教学管理、规范教学秩序、强化学生课堂出勤率、提高课堂教学效果,进一步推动教风、学风建设,结合我院课堂教学中存在的实际问题,提出如下实施意见:一、学生必须严格按照修读课程计划表按时上课,不得迟到或…

java8的新特性_Java8的

java8的新特性Java8没有安排释放,直到2014年3月,但早期发行版本已经可用了一段时间。 一些最有趣的新功能是: 流 功能接口 默认方法 Lambdas Java时间 流 新的java.util.stream软件包包含“支持元素流上的功能样式操作的类”。 流不是一…

数学史思维导图_【学科活动】思维导图展风采,数学文化提素养——庆云县第四中学(北校区)四年级数学组活动小记...

思维无限 导我所想思维的火花跨越时空,照亮昨天、今天和明天。人类从茹毛饮血、采集狩猎到今天足不出户购遍全球,人工智能、大数据信息处理融入每个人的生活。这其中,最大的改变就是思维方式的改变。——题记思维导图又叫心智导图&#xff0c…

计算机新入学教案,计算机应用 新教案(1-6周).doc

计算机应用 新教案(1-6周)广州康大职业技术学院《计算机应用基础》课程教案计算机系(部) 教师曹丽萍:使 用 年 月 日周次班 次星期节 次教案编号12013-2-26一12经贸1班二1-22012-2-27一12经贸1班三3-4 学习内容第1章 计算机基础知识课时4教学目标专业能力1、了解计算…

python集合用法_Python 集合(Set)

集合 集合是无序、无索引的数据集。在Python中,集合用花括号包裹。 示例 创建集合: thisset {"自行车", "汽车", "高铁"} print(thisset) 注意: 集合是无序的,因此项目将以随机顺序出现。 访问集合项目 不能通过索引来访…

记录更新(Java数据类)

最近几个月,有一些与“ Java数据类”(又称为“记录”)有关的更新。 正如我在“ JavaFX,Valhalla,数据类和Java的浮点更新 ”一文中简短提到的那样, Brian Goetz的“ Java数据类 ”“探讨了Java语言中数据类…

k2677场效应管参数引脚_共射极放大电路,场效应管放大电路,运算放大电路

电子技术、无线电维修及SMT电子制造工艺技术绝不是一门容易学好、短时间内就能够掌握的学科。这门学科所涉及的方方面面很多,各方面又相互联系,作为初学者,首先要在整体上了解、初步掌握它。无论是无线电爱好者还是维修技术人员,你…

计算机类和鼠标类是什么关系,电脑自己关机和鼠标键盘有关系吗

都是新版QQ惹的祸,用USB键盘的都会出现这个问题.1、找到QQ的安装目录,方法如下:在桌面上找到QQ图标,用鼠标右键点击图标,在出现的菜单中,点击“属性” ,在弹出的窗口中,点击“打开文件位置”,这…

加载类_JVM类加载详解

类的加载器概述类加载器是JVM执行类加载机制的前提。ClassLoader的作用:ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目…

group by用法多个字段_select的用法

select的用法 --每个员工的所有信息 select * from emp; --每个人的部门编号,姓名,薪水 select empno, ename, sal from emp; --每个人的年薪 select ename, sal*12 from emp; --计算2*3的值 select 2*3 from emp; --计算2*3的值(dual) select 2*3 from …

计算机考试打字小作文,打字练习作文(通用5篇)

打字练习作文(通用5篇)导语:随着计算机在人们的生活中普及,敲键盘打字的速度就变成了人们努力的方向。下面是小编为大家整理的打字练习作文(通用5篇),欢迎阅读,希望大家能够喜欢。打字练习作文 篇1今天过得有些无聊,爸…

euclidea教程_Euclidea

Euclidea作者:Fegeek56次浏览2019-10-13 12:42:02分享Euclidea is a FUN & CHALLENGING Way to Create Euclidian Constructions!> 127 Levels: from very easy to really hard> 11 Tutorials> 10 Innovative Tools> "Explore" Mode and …

信息技术与计算机文化的问题,信息技术与计算机文化

第一章 信息技术与计算机文化1信息:是指自然界、人类活动和人类思维活动中普遍存在的一切物质和事物的属性(在计算机上以数据形式存储)2数据:存储在某种媒体上加以鉴别的符号资料(在计算机以二进制形式存储)3文件:存储在外存上的一组相关信息…

eclipse创建pojo_使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码

eclipse创建pojo概述: 在本教程中,我们将使用Eclipse Hibernate工具自动生成域对象和相应的hbm xml文件。 如果您正在处理大型或中型项目,并且开始时有超过5个以上的表,那么您可能会发现此插件是自动生成映射域对象java文件和相应…

c语言中x的n次方怎么表示_线性代数的本质及其在AI中的应用

线性代数是 AI 专家必须掌握的知识,这已不再是个秘密。如果不掌握应用数学这个领域,你永远就只能是「门外汉」。当然,学习线性代数道阻且长。数学,尤其是线性代数常与枯燥、复杂和毫无意义的事物联系起来。不过你还可以另辟蹊径。…

为什么在生产中进行调试是如此诱人?

生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生。 很简单! - 我想。 我将在开发环境中重现同样的情况,找到虚线&#x…