我想将列表更改为字符串,如下所示,但出现以下错误
TypeError: sequence item 0: expected str instance, list found
下面是我的代码和输入
src = pd.read_excel(r"C:\Temp\Copy of TARAK XCODES.xlsx", dtype=object, sheet_name="Sheet1")
src1 = src.values.tolist()
storesCondition = "'" + "','".join(src1) + "'"
print(src1)
下面是我的列表,实际上我需要字符串作为
'*8697415303158','*8697415303165',.......
[['*8697415303158'], ['*8697415303165'], ['*8697415305107'], ['*8697415305114'], ['*8697415310484'], ['00000000(bo¿)'], ['0000000000000'], ['0000000000001'],...........
出现错误是因为你的列表不是字符串列表,而是包含列表的列表。你试图将
','
加入到一个列表列表中,因此出现了错误。
你可以通过在从
src1
中的每个子列表中提取字符串时修改代码来解决这个问题,如下所示:
src = pd.read_excel(r"C:\Temp\Copy of TARAK XCODES.xlsx", dtype=object, sheet_name="Sheet1")
src1 = src.values.tolist()
# 从每个子列表中提取字符串
storesCondition = "'" + "','".join([x[0] for x in src1]) + "'"
print(storesCondition)
这段代码执行以下操作:
-
访问子列表中的字符串:
[x[0] for x in src1]
此列表解析会遍历src1
中的每个子列表x
,并提取第一个元素x[0]
,即实际字符串。 -
将字符串连接成一个字符串:
"'".join(...) + "'"
此代码将提取的字符串列表连接成一个字符串,每个字符串都用','
分隔,并在开头和结尾添加'
。
通过此更改,
storesCondition
将按预期包含字符串:
'*8697415303158','*8697415303165','*8697415305107',....
标签:python,string,list
From: 78837734