我正在自动化一些数据处理并从中创建 jira 票证。
熊猫确实有
to_html
或
to_csv
甚至
to_markdown
但 jira 仅支持用于创建表格的 wiki 标记。
例如
<!-- wiki markup -->
||header1||header2||header3||\r\n|cell 11|cell 12|cell 13|\r\n|cell 21|cell 22|cell 23|
将创建
header1 | header2 | header3 |
---|---|---|
cell 11 | cell 12 | cell 13 |
单元格 21 | 单元格 22 | 单元格 23 |
有没有办法将 pandas 数据帧转换为 wiki 标记表以在 Jira 中使用?
我保留
df.iterrows
作为最后的手段,因为迭代数据帧是根据
How can I iterate over rows in a Pandas DataFrame?
中的答案,这不是推荐的解决方案?
可以使用
to_csv
方法,并使用一些字符串操作将 Pandas DataFrame 转换为 wiki 标记表。以下是如何完成此操作的示例:
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'header1': ['cell 11', 'cell 21'],
'header2': ['cell 12', 'cell 22'],
'header3': ['cell 13', 'cell 23']})
# 将 DataFrame 转换为 wiki 标记表字符串
def df_to_wiki_table(df):
# 使用管道作为分隔符创建标题行
header = '||' + '||'.join(df.columns) + '||\r\n'
# 创建 body 行
body = ''
for index, row in df.iterrows():
body += '|' + '|'.join(row.astype(str).tolist()) + '|\r\n'
# 连接标题和正文
wiki_table = header + body
return wiki_table
# 将 DataFrame 转换为 wiki 标记表
wiki_table = df_to_wiki_table(df)
# 打印 wiki 标记表
print(wiki_table)
这将打印以下输出,它是一个 wiki 标记表,可以在 Jira 中使用:
||header1||header2||header3||
|cell 11|cell 12|cell 13|
|cell 21|cell 22|cell 23|
此代码首先通过连接列名并添加
||
作为前缀和后缀来创建标题行。然后,它会迭代 DataFrame 的每一行,并将每一行转换为以
|
分隔的字符串,然后添加换行符。最后,它将标题和正文行连接起来以创建完整的 wiki 标记表。
此方法避免了使用
iterrows
进行显式迭代,并且更有效。然后,可以在 Jira 票证描述或评论中使用此 wiki 标记表字符串。