Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python从文件中提取和打印数据_Python_Matplotlib_Plot_Extraction - Fatal编程技术网

用python从文件中提取和打印数据

用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

我有一些数据以以下格式存储在文件(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列(实际上是转置后的第一行):


谢谢如果列数未知怎么办?在这种情况下,不要使用
usecols
,而是使用
删除第一个CSV列。删除(0)
df = pd.read_csv('xyz.dat', sep=' ', header=None).T.drop(0)
df.plot(lw=0.5)
plt.show()