用python从文件中提取和打印数据
我有一些数据以以下格式存储在文件(xyz.dat)中:用python从文件中提取和打印数据,python,matplotlib,plot,extraction,Python,Matplotlib,Plot,Extraction,我有一些数据以以下格式存储在文件(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
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列(实际上是转置后的第一行):
谢谢如果列数未知怎么办?在这种情况下,不要使用
usecols
,而是使用删除第一个CSV列。删除(0)
df = pd.read_csv('xyz.dat', sep=' ', header=None).T.drop(0)
df.plot(lw=0.5)
plt.show()