迭代 CSV 列中行中的每个整数 Python
Iterate each integer in row in CSV column Python
csv 文件的每一行都采用以下格式:
527131607.9 Google Maps
总共有2列。为此,我们只对第一列感兴趣。
我一直在使用代码:
import datetime
with open("user1_nsdate.csv",'r') as f:
for row in f:
for t, val in enumerate(row):
time = datetime.datetime.fromtimestamp(t+978307200).strftime('%Y-%m-%d %H:%M:%S')
print(time)
但是,输出是错误的,因为它没有转换
正确:
2001-01-01 00:00:11
2001-01-01 00:00:00
2001-01-01 00:00:01
2001-01-01 00:00:02
2001-01-01 00:00:03
2001-01-01 00:00:04
2001-01-01 00:00:05
2001-01-01 00:00:06
用纪元时间替换't'时:
import datetime
with open("user1_nsdate.csv",'r') as f:
for row in f:
for t, val in enumerate(row):
time = datetime.datetime.fromtimestamp(527131607.9 + 978307200).strftime('%Y-%m-%d %H:%M:%S')
print(time)
输出:
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
但我需要它遍历 csv 文件第一列中的每一行
将您的 strftime
更改为 .strftime("%d-%m-%y %H:%M:%S")
>>> time = datetime.fromtimestamp(527131607.9+978307200).strftime("%d-%m-%y %H:%M:%S")
>>> print(time)
15-09-17 02:26:47
这里有关于所有格式代码的信息:
https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
在您发表评论后更新:
如果你的文件是这样的。
527131607.9
527131127.1
525123123.9
...
你可以做类似的事情:
with open('test.csv', 'r') as f:
for row in f:
time = datetime.fromtimestamp(float(row)+978307200).strftime("%d-%m-%y %H:%M:%S")
print(time)
这是一个非常简单的文件。我认为我们不需要使用内置的 csv 模块。
csv 文件的每一行都采用以下格式:
527131607.9 Google Maps
总共有2列。为此,我们只对第一列感兴趣。 我一直在使用代码:
import datetime
with open("user1_nsdate.csv",'r') as f:
for row in f:
for t, val in enumerate(row):
time = datetime.datetime.fromtimestamp(t+978307200).strftime('%Y-%m-%d %H:%M:%S')
print(time)
但是,输出是错误的,因为它没有转换 正确:
2001-01-01 00:00:11
2001-01-01 00:00:00
2001-01-01 00:00:01
2001-01-01 00:00:02
2001-01-01 00:00:03
2001-01-01 00:00:04
2001-01-01 00:00:05
2001-01-01 00:00:06
用纪元时间替换't'时:
import datetime
with open("user1_nsdate.csv",'r') as f:
for row in f:
for t, val in enumerate(row):
time = datetime.datetime.fromtimestamp(527131607.9 + 978307200).strftime('%Y-%m-%d %H:%M:%S')
print(time)
输出:
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
2017-09-15 02:26:47
但我需要它遍历 csv 文件第一列中的每一行
将您的 strftime
更改为 .strftime("%d-%m-%y %H:%M:%S")
>>> time = datetime.fromtimestamp(527131607.9+978307200).strftime("%d-%m-%y %H:%M:%S")
>>> print(time)
15-09-17 02:26:47
这里有关于所有格式代码的信息:
https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
在您发表评论后更新:
如果你的文件是这样的。
527131607.9
527131127.1
525123123.9
...
你可以做类似的事情:
with open('test.csv', 'r') as f:
for row in f:
time = datetime.fromtimestamp(float(row)+978307200).strftime("%d-%m-%y %H:%M:%S")
print(time)
这是一个非常简单的文件。我认为我们不需要使用内置的 csv 模块。