如何在 python 中将列中的多行从 unicode 更改为时间戳
How to change multiple rows in a column from unicode to timestamp in python
我正在为初学者学习python。我想将列值从 unicode 时间 ('1383260400000') 转换为时间戳 (1970-01-01 00:00:01enter code here
)。我已阅读并尝试了以下内容,但它给了我一个错误。
ti=datetime.datetime.utcfromtimestamp(int(arr[1]).strftime('%Y-%m-%d %H:%M:%S');
它说语法无效。我阅读并尝试了一些其他的东西,但我做不到。有什么建议吗?
还有一个,在同一个文件中,我有一些空单元格,我想用 0 替换,我也试过了,但它给了我无效的语法:
smsin=arr[3];
if arr[3]='' :
smsin='0';
请帮忙。非常感谢。
您似乎忘记了 (arr[1])
之后的右括号。
import datetime
arr = ['23423423', '1163838603', '1263838603', '1463838603']
ti = datetime.datetime.utcfromtimestamp(int(arr[1])).strftime('%Y-%m-%d %H:%M:%S')
print(ti)
# => 2006-11-18 08:30:03
要用列表中的“0”替换空字符串,您可以这样做:
arr = ['123', '456', '', '789', '']
arr = [x if x else '0' for x in arr]
print(arr)
# => ['123', '456', '0', '789', '0']
请注意,后者只能正常工作,因为空字符串 ''
是唯一具有 truth value 的 False
的字符串。如果您在 arr
中有其他数据类型(例如 0
、0L
、0.0
、()
、[]
、...)并且仅想要替换你必须做的空字符串:
arr = [x if x != '' else '0' for x in arr]
更有效的方法是就地修改 arr
而不是重新创建整个列表。
for index, item in enumerate(arr):
if item = '':
arr[index] = '0'
但如果这不是问题(例如,您的列表不是太大),我更喜欢前一种(更具可读性)的方式。
此外,您不需要将 ;
放在代码行的末尾,因为 Python 不需要它们来终止语句。如果您希望将多个语句放在同一行但您的代码中不是这种情况,它们可用于分隔语句。
我正在为初学者学习python。我想将列值从 unicode 时间 ('1383260400000') 转换为时间戳 (1970-01-01 00:00:01enter code here
)。我已阅读并尝试了以下内容,但它给了我一个错误。
ti=datetime.datetime.utcfromtimestamp(int(arr[1]).strftime('%Y-%m-%d %H:%M:%S');
它说语法无效。我阅读并尝试了一些其他的东西,但我做不到。有什么建议吗?
还有一个,在同一个文件中,我有一些空单元格,我想用 0 替换,我也试过了,但它给了我无效的语法:
smsin=arr[3];
if arr[3]='' :
smsin='0';
请帮忙。非常感谢。
您似乎忘记了 (arr[1])
之后的右括号。
import datetime
arr = ['23423423', '1163838603', '1263838603', '1463838603']
ti = datetime.datetime.utcfromtimestamp(int(arr[1])).strftime('%Y-%m-%d %H:%M:%S')
print(ti)
# => 2006-11-18 08:30:03
要用列表中的“0”替换空字符串,您可以这样做:
arr = ['123', '456', '', '789', '']
arr = [x if x else '0' for x in arr]
print(arr)
# => ['123', '456', '0', '789', '0']
请注意,后者只能正常工作,因为空字符串 ''
是唯一具有 truth value 的 False
的字符串。如果您在 arr
中有其他数据类型(例如 0
、0L
、0.0
、()
、[]
、...)并且仅想要替换你必须做的空字符串:
arr = [x if x != '' else '0' for x in arr]
更有效的方法是就地修改 arr
而不是重新创建整个列表。
for index, item in enumerate(arr):
if item = '':
arr[index] = '0'
但如果这不是问题(例如,您的列表不是太大),我更喜欢前一种(更具可读性)的方式。
此外,您不需要将 ;
放在代码行的末尾,因为 Python 不需要它们来终止语句。如果您希望将多个语句放在同一行但您的代码中不是这种情况,它们可用于分隔语句。