【问题标题】:Does Julia have a same way to read and write data (Array & String) as Python?Julia 是否有与 Python 相同的读取和写入数据(数组和字符串)的方法?
【发布时间】:2021-05-25 15:17:54
【问题描述】:

到目前为止,我一直使用 Python 来分析模拟数据,但有时它比我预期的要慢。 所以,这些天我一直在尝试使用 Julia,但是我很难熟悉它并获得与 python 一样多的信息。这就是我在这里寻求帮助的原因!

第一季度。直接从文件导入数组并将数组导出到 Julia 文件的最佳方法 (我在 python 中使用过“numpy genfromtxt”和“numpy savetxt”) Q2。在 Julia 中读取字符串并将其导出为字符串但也使用特定格式('%10.3f' %、rjust、ljust 等)的最佳方法

为了正确理解我的问题,我还留下了问题的 python 代码。

第一季度。直接从文件导入数组并将数组导出到文件的最佳方式。

This array is in the test.txt file
  1.1     -399.16
  1.2     -398.21
  2.4     -399.59
  4.5     -401.51
  2.2    -1071.64
  2.3    -1074.35
  5.5    -1077.36
  9.7    -1069.9
  14.0    -1731.35
  14.2    -1739.84

import numpy as np
data = np.genfromtxt('D:\\JULIA\\test.txt')
np.savetxt('D:\\JULIA\\outdata.txt', data, fmt="%10.3f")

第二季度。读取字符串并将其导出为字符串但使用特定格式('%10.3f' %、rjust、ljust 等)的最佳方式。

data = open('D:\\JULIA\\test.txt','r')
outdata = open('D:\\JULIA\\outdata.txt','w')
lines= data.readlines()
for line in lines:
    splitline  = line.split()
    col1 = float(splitline[0])
    col2 = float(splitline[1])
    outdata.write(('%10.3f' % col1).rjust(20) +', ' +('%10.3f' %col2).rjust(40)+'\n')
data.close()
outdata.close()

如果在 Julia 中有相同或相似的方式,或者在 Julia 中应该使用不同的方式,请回答我。

【问题讨论】:

    标签: python julia


    【解决方案1】:

    在 Julia 中有多种方法可以实现相同的结果。鉴于您对np.savetxt 的体验,最自然的可能是DelimitedFiles 标准库:

    using DelimitedFiles
    
    data = readdlm("input.txt")
    
    writedlm("output.txt", data)
    

    查看这些函数的文档以获取更多详细信息。或者,还有各种用于将数据保存到磁盘的软件包,例如 JLD.jl、JLD2.jl、BSON.jl、HD5F.jl,... 列表非常庞大。

    【讨论】:

    • 非常感谢您的及时回复。但是你能给我一个数据格式的例子吗?就像我上面提到的那样-> ('%10.3f' % col1).rjust(20)np.savetxt('D:\\JULIA\\outdata.txt', data, fmt="%10.3f") 如何在 Julia 中为 String 和 Array 修复每个数据或小数点的长度和距离?
    • 语言中还有多种操作字符串格式的方法。例如,Printf 标准库提供了 @sprintf。如果您使用类似 Python 的语法,请检查包 github.com/JuliaIO/Formatting.jl
    猜你喜欢
    • 2017-04-21
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2014-10-13
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    相关资源
    最近更新 更多