有什么方法可以更改 Python 列表中每个项目的数据类型?
Is there any way to change data type of each item of a list in Python?
我有一个名为 listlog
的列表列表,其结构如下:
[['2022-05-04 11:06:50', 'INFO', 'Database Connection', 'Database', '10.05', 'NULL'] [...]
有什么方法可以更改每个项目的数据类型吗?第一个是 timestamp/datetime,第二个、第三个和第四个是字符串,第五个是浮点数或数字。
有什么办法吗?
我已经测试过类似的东西,但没有用
map(lambda item: Timestamp([item[0]]), listLog)
您应该可以通过以下方式完成此操作:
for item in listlog:
item[0] = Timestamp(item[0])
item[4] = float(item[4])
为您需要转换的每个数据字段添加额外的分配。
你可以试试这个。
from datetime import datetime
for item in listdata:
item[0]=datetime.strptime(item[0], '%Y-%M-%d %H:%m:%S')
item[1]=str(item[1])
item[2]=str(item[2])
item[3]=str(item[3])
item[4]=float(item[4])
print(listt)
虽然我认为 Greg Hewgill 的解决方案是最佳实践,但如果您对 oneliners 感兴趣,这里是使用地图的答案:
list(map(lambda item: [Timestamp(item[0])] + item[1:4] + [float(item[4])] + item[5:], listlog))
for i in range(0,len(list_name)):
# check condition of the item whether its a string or integer or date-time stamp then do typecasting.
例如:if type(l[item])=int
并且您想将其转换为字符串然后写入:
l[item] = string(l[item])
我有一个名为 listlog
的列表列表,其结构如下:
[['2022-05-04 11:06:50', 'INFO', 'Database Connection', 'Database', '10.05', 'NULL'] [...]
有什么方法可以更改每个项目的数据类型吗?第一个是 timestamp/datetime,第二个、第三个和第四个是字符串,第五个是浮点数或数字。
有什么办法吗? 我已经测试过类似的东西,但没有用
map(lambda item: Timestamp([item[0]]), listLog)
您应该可以通过以下方式完成此操作:
for item in listlog:
item[0] = Timestamp(item[0])
item[4] = float(item[4])
为您需要转换的每个数据字段添加额外的分配。
你可以试试这个。
from datetime import datetime
for item in listdata:
item[0]=datetime.strptime(item[0], '%Y-%M-%d %H:%m:%S')
item[1]=str(item[1])
item[2]=str(item[2])
item[3]=str(item[3])
item[4]=float(item[4])
print(listt)
虽然我认为 Greg Hewgill 的解决方案是最佳实践,但如果您对 oneliners 感兴趣,这里是使用地图的答案:
list(map(lambda item: [Timestamp(item[0])] + item[1:4] + [float(item[4])] + item[5:], listlog))
for i in range(0,len(list_name)):
# check condition of the item whether its a string or integer or date-time stamp then do typecasting.
例如:if type(l[item])=int
并且您想将其转换为字符串然后写入:
l[item] = string(l[item])