【问题标题】:Converting array to string in Python在 Python 中将数组转换为字符串
【发布时间】:2012-09-10 17:44:40
【问题描述】:

我使用 numpy 来执行此操作。我有一个包含一系列数字的文本文件:

[  11.1   44.0   74.9  103.8  115.8
  157.0   170.1  208.4   239.9  296.8]

如何将文本文件转换为:

11.10377777 44.03133786 74.9749492 103.83874619 115.83058441 157.0862515 170.10200524 208.4376871 239.90138829 296.86073327

stim = a[0,61:71] 
stim2 = a[0,21]
fname = 'blah'
f_events = open('L:\\directory\\' + blah + '.txt',"w")
f_events.write(str(stim-stim2))
f_events.close()

【问题讨论】:

  • 另外,每个数字之间有三个空格,但我希望它是 1 个空格。
  • @JoranBeasley,这就是答案;为什么不提交呢?
  • 如果它解决了您的问题,请继续接受答案:)

标签: python arrays string numpy


【解决方案1】:

使用 " ".join ... 但你需要 map 你的花车在连接内串起来

with open('L:\\directory\\' + blah + '.txt',"w" ) as f_events:
    f_events.write(" ".join(map(str,stim-stim2)))  #this line :)

【讨论】:

  • 您介意编辑您的解决方案,使其使用with open(...) as f: 而不是显式的.close()吗?
  • 我想补充一点,如果你想要更多的自定义(例如只打印前 x 个小数位),你可以使用字符串格式来获得所需的结果。尽管 OP 似乎不需要这样做。
  • there 使用 with 代替(更好的形式...但与 OP 无关)
【解决方案2】:

既然你用的是numpy,就用np.savetxt吧,真的应该先看看你用的包提供了什么...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2020-04-06
    • 2018-09-19
    相关资源
    最近更新 更多