【问题标题】:How can I load a .dat file (that is comma separated) in python?如何在 python 中加载 .dat 文件(逗号分隔)?
【发布时间】:2021-04-26 11:10:39
【问题描述】:

我正在尝试加载包含两列数据的数据文件,使用逗号分隔:Data = np.loadtxt('real3kHz.dat'),其中real3kHz.dat 是包含以下数据的文件的名称:

4998.29641,-0.00003
4997.33205,-0.00005
4996.36768,-0.00007
4995.40332,-0.00008
4994.43895,-0.00008
4993.47459,-0.00008
4992.51023,-0.00006
4991.54586,-0.00006
4990.5815,-0.00005
4989.61714,-0.00006
 ....

但是,我不断收到以下错误:

ValueError: could not convert string to float: '4998.29641,-0.00003'

我假设我在将 cvs 文件加载到 python 之前成功地将其更改为 .dat 文件(通过将其保存为记事本中的.dat 文件)。我可以得到一些帮助来了解我哪里出错了吗? 提前谢谢你

【问题讨论】:

  • 您能edit 发布 .dat 文件中的几行吗?听起来像是 CSV 格式的。
  • 您好,感谢您的回复。我已经编辑了问题以包含一些数据。事实上,我确实将 cvs 加载到记事本中并在加载到 python 之前将其保存为 .dat 文件,我不确定这是否足够
  • np.loadtxt('real3kHz.dat', delimiter=',') 工作吗?
  • 成功了!非常感谢
  • 这能回答你的问题吗? load csv into 2D matrix with numpy for plotting

标签: python


【解决方案1】:

试试这个,看看它是否符合您的要求:

with open ('real3kHz.dat') as data_file :
for line in data_file :
    line_list = line.strip ('\n').split (',')
    print (f'{float (line_list [0])}   {float (line_list [1]):.5f}')

【讨论】:

  • 或者使用 Python 的 csv 模块而不是手动解析行。
猜你喜欢
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
相关资源
最近更新 更多