从 python 中的文件中提取和绘制数据

Extract and plot data from a file in python

我将一些数据存储在文件 (xyz.dat) 中,格式如下:

1   0.997790664988225E+000   0.100177762164687E+001   0.100034262755073E+001        
2   0.997788473973293E+000   0.100177969047903E+001   0.100034273413754E+001        
3   0.997782981718032E+000   0.100178486093194E+001   0.100034301665219E+001

我想要做的是,对于每一行,将第一列存储为 x,将其余值存储为 y[1]y[2]y[3]。 ..很快。稍后我想分别为每一行绘制存储在 y[n] 中的数据。我是 python 的新手,曾尝试使用 split() 但收效甚微。我要么无法分离出第一列,要么在每一行的末尾都有一个尾随 '\n'。任何帮助将不胜感激。提前致谢。

你可以试试:

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_fwf('file.dat')
plt.plot(df.iloc[:, 0], df.iloc[:,1])
plt.show()

您可以按照上面的方式进行绘图。希望这有帮助。

您可以按如下方式阅读和绘制:

import matplotlib.pyplot as plt
import pandas as pd 

df = pd.read_csv('xyz.dat', sep=' ', header=None, usecols=(1, 2, 3)).T
df.plot(lw=0.5)
plt.show()

这会给你输出:

您的 3 行包含非常相似的数据。


如果列数未知,您可以正常读取它并删除第一个 CSV 列(实际上是转置后的第一行):

df = pd.read_csv('xyz.dat', sep=' ', header=None).T.drop(0)
df.plot(lw=0.5)
plt.show()