python基础:‘ ‘.join(data)时报错处理

文章讲述了在使用Python的.join()函数时遇到TypeError,由于列表中包含非字符串类型的整数或时间格式。给出了两种解决方案:列表推导式将整数转换为字符串后再连接,以及先将所有元素转换为字符串列表再进行连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TypeError: sequence item 0: expected str instance, int found的解决办法

data = [2023-11-30 17:32:44.134734,INFO,goods_manager.py,465,湖南省,长沙,这里是日志信息......]
data_str = ','.join(data_str)

此时报错

Traceback (most recent call last):
  File "D:/pythonProject/ETL_Need3/test/111111111.py", line 14, in <module>
    data_str = ','.join(data)
TypeError: sequence item 3: expected str instance, int found

.join()函数可以将容器里的数据连接起来,但要求数据必须是字符串格式
当list里包含整形数字,时间格式等,则无法连接

因此可以写一个for循环,将不符合要求的更改为str

解决方案:

方案一:

#列表推导式
data_str="-".join('%s' %i for i in data)
print data_str

方案二:

data_str_list = []
for i in data:
    i = str(i)
    data_str_list.append(i)
data_str1 = '-'.join(data_str_list)
print data_str1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值