0

好的,我是 Python 新手,我有一个要读取的 .dat 文件,我需要错过标题,它的类型是:

header blah blah blah blah blah 10e20 2e46 blah blah blah
10.0    0.0
10.1    0.0
10.2    0.0
10.3    0.0
10.4    0.0
10.5    0.0

左边的数字由制表符分隔

到目前为止我的代码是

import matplotlib.pyplot as pyplot
import math
import csv
import numpy
import numpy as np

data = np.genfromtxt("file.dat", skip_header=1, delimiter=',')

print data

这是作业的第一部分,我什至无法读取文件并打印数据??该代码适用于其他文件,但不是这个,我在输出中得到的只是

[楠楠楠...,楠楠楠]

任何帮助,将不胜感激

4

2 回答 2

5

正确指定分隔符。给定文件中没有逗号。

>>> import numpy as np
>>> np.genfromtxt("file.dat", skip_header=1, delimiter='\t')
array([[ 10. ,   0. ],
       [ 10.1,   0. ],
       [ 10.2,   0. ],
       [ 10.3,   0. ],
       [ 10.4,   0. ],
       [ 10.5,   0. ]])
于 2013-11-05T13:56:31.703 回答
0

我看不到您数据中的逗号分隔符在哪里?它更多的是制表符或空格。

10.0    0.0
10.1    0.0
10.2    0.0
10.3    0.0
10.4    0.0
10.5    0.0

只需更改分隔符参数以匹配您的数据分隔符。

data = np.genfromtxt("file.dat", skip_header=1, delimiter='\t')

用空格试试:

data = np.genfromtxt("file.dat", skip_header=1, delimiter='    ')

所以我现在用标签测试了它,它没有用。我用空格试过了,效果很好。

于 2013-11-05T14:01:55.770 回答