【问题标题】:I am trying to print a dictionary containing strings with newline but "\n" is getting printed instead of newline [duplicate]我正在尝试打印包含带有换行符的字符串的字典,但打印的是“\n”而不是换行符 [重复]
【发布时间】:2021-09-02 03:23:00
【问题描述】:

[输出][1]``` 现在 = datetime.now() env = 'IPC1 \nE1/E2'

report = {'Date': now, 'Environment': env, 'Array Name': 'Hyperstore1'}

report_df = pd.DataFrame(report)

html = """\

<head></head>

<body>

    {0}

</body>

""".format(build_table(report_df, 'blue-dark'))



  [1]: https://i.stack.imgur.com/TW61A.jpg

【问题讨论】:

  • 您不是在打印字符串,而是在打印包含字符串的字典。字典的默认字符串表示就是这样。如果你想格式化它,你必须为它编写代码。
  • 不,这对我没有帮助....你能告诉我我应该编码什么,以便它可以分两行打印
  • 我必须在将此报告转换为数据框,然后转换为 HTML 表格后进一步邮寄...请帮助进入换行符。
  • 这让问题变得不那么清楚了。 build_table 是什么?
  • 另外,您仍然没有显示您想要获得的输出。您只显示了您尝试使用的代码。这段代码有什么问题?

标签: python string dictionary formatting


【解决方案1】:
from datetime import datetime

now = datetime.now()
env = 'IPC1 \nE1/E2'
report = {'Date': now, 'Environment': env}
print(*(f"{k}: {v}" for k, v in report.items()), sep='\n')

输出

Date: 2021-06-17 13:57:41.228941
Environment: IPC1 
E1/E2

【讨论】:

  • 但我必须在将其转换为数据框后,以 HTML 表格的形式通过邮件发送此报告。在这种情况下这不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
  • 2010-11-07
  • 2018-12-19
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
相关资源
最近更新 更多