I am trying to create a string representation of a pandas DataFrame that can be formatted as a table in JIRA comments. My issue arises when newline characters (\n) in the string are not being correctly interpreted by JIRA, when I try to paste the string.
Code: Here's the Python function I'm using to convert a DataFrame to a JIRA-formatted table string:
<span>import</span> pandas <span>as</span> pd
<span>def</span> <span>dataframe_to_jira_string</span>(<span>df</span>):
jira_lines = []
header = <span>"||"</span> + <span>"||"</span>.join([<span>f"*{col}*"</span> <span>for</span> col <span>in</span> df.columns]) + <span>"||"</span>
jira_lines.append(header)
<span>for</span> index, row <span>in</span> df.iterrows():
first_col = <span>f"|{index}"</span>
other_cols = <span>"|"</span>.join(row.astype(<span>str</span>).values)
row_str = <span>f"{first_col}|{other_cols}|"</span>
jira_lines.append(row_str)
jira_table_string = <span>"\n"</span>.join(jira_lines)
<span>return</span> jira_table_string
<span># Sample DataFrame</span>
data = {
<span>'CR'</span>: [<span>4312</span>, <span>1432</span>, <span>7</span>, <span>41</span>, <span>1</span>, <span>9</span>, <span>11</span>],
<span>'False'</span>: [<span>13</span>, <span>1</span>, <span>7</span>, <span>0</span>, <span>30</span>, <span>2</span>, <span>4</span>],
<span>'Miss'</span>: [<span>5285</span>, <span>250</span>, <span>15</span>, <span>45</span>, <span>0</span>, <span>57</span>, <span>2</span>],
<span>'True'</span>: [<span>732</span>, <span>48</span>, <span>105</span>, <span>19</span>, <span>63</span>, <span>10</span>, <span>9</span>]
}
index = [<span>'A'</span>, <span>'B'</span>, <span>'C'</span>, <span>'D'</span>, <span>'E'</span>, <span>'F'</span>, <span>'G'</span>]
df = pd.DataFrame(data, index=index)
jira_table_string = dataframe_to_jira_string(df)Question: How can I ensure that the newline characters in the string are preserved and correctly interpreted by JIRA when pasted? Is there a specific way I should format the string or handle newline characters in Python to make it compatible with JIRA's text processing? Any advice or insights on how to solve this issue would be greatly appreciated!