数据文件1:
data_20150801.csv
N20=18,N21=18 ,N22=18.
数据文件2
data2_20150801.csv
Time Header Header Header Header
2015-08-01 07:00 14.4 14.4 14.4 68
2015-08-01 07:01 14.4 14.4 14.4 68
我想合并这两个.csv文件,以获得一个看起来像的文件:
Time Header Header
2015-08-01 00:00 90 12312
2015-08-01 00:01 232 13213
......
2015-08-01 07:00 1000 1500
2015-08-01 07:01 2312 1245
2015-08-01 07:02 1232 1232
2015-08-01 07:03 1231 1232
所以基本上我需要从data2_复制Rows并在data_中的正确时间点插入它们 我用Notepad ++手动尝试了,但问题是,有时数据2中没有一分钟的条目,所以我需要检查丢失的TimeStep的位置并手动跳过这一点。
我在Python中做了一些事情,但我仍然是一个菜鸟,所以我缺乏如何开始解决这样的问题的经验?
我正在使用mac,我发现cat命令将文件夹中的.csv文件合并到一个cvs文件中 - >有没有办法逐行保存时间戳?
答案 0 :(得分:1)
不是Python专家,我会使用两个词典,使用日期时间戳作为键,将其他列列表作为数据。
将一个文件加载到一个字典中,将另一个文件加载到另一个字典中。然后,使用两者中相同的键合并两个词典非常简单。
至于阅读文件,您可以使用标准cvs
module。
答案 1 :(得分:1)
你可以使用Python Pandas很容易地做到这一点,但它可能是一个过度工程:
import pandas as pd
d_one = from_csv('data.csv',sep=',',engine='python',header=0)
d_two = from_csv('data2.csv',sep=',',engine='python',header=0)
d_three = pd.merge(d_one, d_two, left_on='timestamp',right_on='timestamp')
d_three.to_csv('output.csv',sep=',')
我没有机会测试这段代码,但它应该做你想要的,你可能需要修改标签的逗号(取决于文件)等。
答案 2 :(得分:1)
考虑到提议使用Pandas的解决方案,我会在to_csv行添加“index = False”,将其转换为
d_three.to_csv('output.csv',sep=',', index=False)
这将删除索引列。