我想将日期时间转换为csv文件中的时间戳。日期时间格式位于我的csv文件的第8列。请帮忙。提前致谢。 这就是我到目前为止所做的。
这是污染数据(pollution.csv)最后一列是日期时间格式
臭氧,particullate_matter,carbon_monoxide,sulfure_dioxide,nitrogen_dioxide,经度,纬度,日期时间
101,94,49,44,87,10.104986076057457,56.23172069428216,2014-08-01 00:05:00
106,97,48,47,86,10.104986076057457,56.23172069428216,2014-08-01 00:10:00
107,95,49,42,85,10.104986076057457,56.23172069428216,2014-08-01 00:15:00
103,90,51,44,87,10.104986076057457,56.23172069428216,2014-08-01 00:20:00
105,94,49,39,82,10.104986076057457,56.23172069428216,2014-08-01 00:25:00
106,92,48,42,77,10.104986076057457,56.23172069428216,2014-08-01 00:30:00
110,87,50,40,81,10.104986076057457,56.23172069428216,2014-08-01 00:35:00
106,91,52,36,82,10.104986076057457,56.23172069428216,2014-08-01 00:40:00
106,88,50,40,85,10.104986076057457,56.23172069428216,2014-08-01 00:45:00
我想将最后一列转换为一组整数值,即Timestamp。
我希望我的污染.sv看起来像我在下面所示。
臭氧,particullate_matter,carbon_monoxide,sulfure_dioxide,nitrogen_dioxide,经度,纬度,日期时间
101,94,49,44,87,10.104986076057457,56.23172069428216,1406831700.0
106,97,48,47,86,10.104986076057457,56.23172069428216,1406832000.0
107,95,49,42,85,10.104986076057457,56.23172069428216,1406832300.0
103,90,51,44,87,10.104986076057457,56.23172069428216,1406832600.0
105,94,49,39,82,10.104986076057457,56.23172069428216,1406832900.0
106,92,48,42,77,10.104986076057457,56.23172069428216,1406833200.0
110,87,50,40,81,10.104986076057457,56.23172069428216,1406833500.0
106,91,52,36,82,10.104986076057457,56.23172069428216,1406833800.0
106,88,50,40,85,10.104986076057457,56.23172069428216,1406834100.0
我想将日期时间转换为时间戳。
到目前为止我做了什么
import time
t = '2014-08-01 00:05:00'
ts = time.strptime(t, '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(ts)
print(timestamp)
我能够获得时间戳值。
我的时区 - 5月17日星期三16:47:20 IST 2017(印度标准时间)
答案 0 :(得分:0)
您想要的是将日期字符串转换为时间戳:
import datetime
dt = datetime.datetime.strptime("2014-10-28 19:00:09", "%Y-%m-%d %H:%M:%S")
print(dt.timestamp())
你得到:
1414522809.0
要阅读CSV文件,请参阅文档:csv
以下是一个例子:
import io
import csv
with open("your_file.csv", mode="r", encoding="utf-8") as fd:
reader = csv.reader(fd)
header = next(iter(reader))
for row in reader:
print(row[-1])
你得到:
2014-08-01 00:05:00
2014-08-01 00:10:00
2014-08-01 00:15:00
2014-08-01 00:20:00
2014-08-01 00:25:00
2014-08-01 00:30:00
2014-08-01 00:35:00
2014-08-01 00:40:00
2014-08-01 00:45:00
答案 1 :(得分:0)
试试这个:
<div class="item video " data-reactid="192">
<a href="/video/sddfo" data-reactid="193">
<div class="LazyLoad is-visible" style="height:168px;" data-reactid="194">
<img class="video" src="/images/icon-video.svg" data-reactid="195">
</div>
</a>
<p class="name" data-reactid="196">I am free video2</p>
</div>
以上使用GNU awk for mktime()和gensub()。您可以添加&#34; .0&#34;在每个值的末尾,如果你喜欢,但这似乎毫无意义 - 你从来没有真正得到一个有意义的值,因为你的所有输入都是在几秒钟的分辨率。这与您的预期输出之间的差异几乎可以肯定是由于脚本运行的时区。