首页 > 解决方案 > 如何将列表转换为字符串

问题描述

我曾尝试使用 .replace 或 .strip 方法,但没有成功。我正在尝试打印一个用逗号分隔的字符串列表。

有没有人知道一种方法,所以我们打印出来没有 [] 或单引号 ''

def get_format(header1):
    format_lookup = "SELECT ID, FormatName, HeaderRow, ColumnStatus, ColumnMobileID, ColumnVendorID, ColumnTechID, " \
                    "ColumnCallType, ColumnCallDate, ColumnCallTime, ColumnCallTo, ColumnQty, ColumnQtyLabel " \
                    "from dynamic_format WHERE HeaderRow=%s"
    
    header1 = (str(header1),)
    cursor = connection.cursor()
    cursor.execute(format_lookup, header1)
    record = cursor.fetchone()

    return record

标签: pythonmysql-connector

解决方案


我想我会发表我的评论作为答案:

In [1]: header1 = ['ESN', 'ORIGINAL_QUANTITY', 'INVOICE_DATE']

In [2]: ", ".join(header1)
Out[2]: 'ESN, ORIGINAL_QUANTITY, INVOICE_DATE'

In [3]: print(", ".join(header1))
ESN, ORIGINAL_QUANTITY, INVOICE_DATE

您收到这些错误的原因是因为header1它是一个list对象并且.replace()是一个字符串方法。

@sbabtizied 的答案是如果header1是字符串,你会使用什么:

# a single string, what sbabti assumed you had
"['ESN', 'ORIGINAL_QUANTITY', 'INVOICE_DATE']"

# a list of strings, what you actually have
['ESN', 'ORIGINAL_QUANTITY', 'INVOICE_DATE']

推荐阅读