2
我目前正在做一個不和諧的機器人,其中的一個命令涉及從SQL表中拉數據,爲此我使用了與Pyodbc幾乎完全相同的AioOdbc模塊,唯一真正的區別是它不會在異步功能中阻塞。如何讓pyodbc輸出更具可讀性/更好?
以這種格式輸出。
[('Item1',),('Item2',)]
我怎樣才能讓它輸出一些更好看的東西?可能類似於
Item1, Item2
任何幫助表示讚賞!
我目前正在做一個不和諧的機器人,其中的一個命令涉及從SQL表中拉數據,爲此我使用了與Pyodbc幾乎完全相同的AioOdbc模塊,唯一真正的區別是它不會在異步功能中阻塞。如何讓pyodbc輸出更具可讀性/更好?
以這種格式輸出。
[('Item1',),('Item2',)]
我怎樣才能讓它輸出一些更好看的東西?可能類似於
Item1, Item2
任何幫助表示讚賞!
你可以把它變成,每一個項目是由逗號和空格這個代碼中分離出來的字符串:
itemString = ', '.join((item[0] for item in items))
凡items
是這名:[('Item1',),('Item2',)]
如果你需要它能夠從任意深度嵌套列表,如在此列表中取出來的物品:[('Item1', 'Item2', ('Item3')), ('Item4', 'Item5')]
,您可以使用此代碼:
def flatten(nested):
for element in nested:
if isinstance(element, collections.Iterable) and not isinstance(element, (str, bytes)):
yield from flatten(element)
else:
yield element
考慮引用次「扁平化」代碼的來源。我相信原作者是David Beazley,詳情請參閱https://stackoverflow.com/a/40857703/4531270。 – pylang
我很確定我寫了'flatten'代碼。 David的答案是在2016年11月,但我在2016年夏天寫了我的python工具包包的第一部分(我從中複製了這個包)。但我會大聲提出David的答案,因爲我認爲這是該問題的最佳答案。 –
要清楚,我發佈的鏈接不是David Beazley的帖子,它是我的(所以不要高估它是他的)。我在這裏添加了鏈接,它提供了他的食譜(第三版,大約2013年)的完整參考資料,我從中得到了代碼的來源。這就是說,我不知道原作者。如果是你,謝謝你的配方。 – pylang