【问题标题】:Python / google Spreadsheet - How to remove [' '] or get all columns except the first onePython / google电子表格 - 如何删除['']或获取除第一列之外的所有列
【发布时间】:2020-09-08 14:54:59
【问题描述】:

和许多其他人一样,我是 python 新手,只是玩了一点,为我的 wow 公会构建一个不和谐机器人。

到目前为止,我已经访问了我的谷歌电子表格,并正在使用heals = worksheet.col_values(2)读取值

这很好用。我的输出嵌入不和谐,看起来像这样embed.add_field(name="Healer", value=format(sep.join(heals)), inline=True)

但是这种方法当然包括列中的每个值。现在我想排除第一行。 (A1、B1、C1 等)

我采用了不同的方式,现在正在使用test = worksheet.get('A2:A'),这在一定程度上有效。它可以满足我的要求,并以 A2 开头,但我无法在我的不和谐输出中对其进行格式化。

我正在使用embed.add_field(name="Tanks", value=format('\n'.join(map(str, test))), inline=True) 进行输出

看起来像这样:

['Tim']
['Julian'] 

所以我的问题是,如何摆脱括号或其他方法,如何排除第一行。 我希望我能用通俗易懂的方式解释它。

my discord output

【问题讨论】:

  • 你能和我们分享一下测试的打印:print(test)
  • 测试的打印是[['Tim'], ['Julian']]
  • 你能试试这个吗:test = [item for sublist in test for item in sublist]。在定义 test 变量之后放置它。

标签: python google-sheets discord


【解决方案1】:

鉴于test 具有以下结构:

test = [['Tim'], ['Julian']]

把这个放在test的定义之后:

test = [item for sublist in test for item in sublist]
'\n'.join(map(str,test))

这将给出以下输出:

'Tim\nJulian'

您可以将其作为值传递给add_field()

更多解释:

更详细地说,test = [['Tim'], ['Julian']]列表列表。为了展平此列表并获得元素列表,您可以使用List Comprehensions。请查看文档以了解后者的工作原理。

【讨论】:

  • 我刚刚匆匆试了下,好像还可以。稍后我会更详细地尝试。非常感谢你!能否请您解释一下,您的解决方案到底是做什么的?
  • @harlekiNN 我添加了一点解释。我将您重定向到此链接以阅读有关理解列表的更多信息:docs.python.org/3/tutorial/datastructures.html
猜你喜欢
  • 2012-12-03
  • 1970-01-01
  • 2021-01-11
  • 2023-03-22
  • 2013-11-08
  • 2016-02-05
  • 2022-07-11
  • 2010-09-27
  • 1970-01-01
相关资源
最近更新 更多