我正在开发一个关于CSV文件的项目。我几乎没有开始学习python及其谜团。我有这段代码在一个文件夹中查找,得到所有" .csv"文件(或#34; .txt"在这种情况下,这就是我找到所有海量数据的方式)并读出其数据。我使用pandas
导入CSV(它有2列,Time
和Amplitude
)后,我想绘制两列。我知道情节看起来是怎样的(数据是在MATLAB中绘制的,但我的工作是为python创建一个软件)。我尝试使用此link,但我不知道如何知道我的X-axis
是Time
而Y-axis
是Amplitude
到目前为止,这是我的整个代码
import pandas as pd
import os
import tkinter as tk
from tkinter.filedialog import askdirectory
import matplotlib.pyplot as plt
print ("Please choose the path to the CSV Files: ")
root = tk.Tk()
root.withdraw()
root.attributes('-topmost', True)
path = askdirectory()
print("\nThe chosen folder is: " + path)
tmp_paths=[]
data_tables=[]
data_paths=[]
file_ext=[]
file_name=[]
sep_name=[]
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".txt"):
tmp_paths=os.path.join(root,file) #
tables=pd.read_csv(tmp_paths, header=5, sep=' ',converters={"Time":float, "Ampl":float})
data_tables.append(tables)
data_paths.append(tmp_paths)
file_ext=[name.split("\\",1)[1] for name in data_paths]
file_name=[name.split(".txt",1)[0] for name in file_ext]
sep_name=[name.split("-",6) for name in file_name]
plt.plot(data_tables[1],data_tables[0])
plt.show()
P.S:当我试图绘制时,它给了我:`KeyError:' Time'。
1.使用data_tables
float
值转换为pandas
2.绘图代码中的固定ecopy错误
在新的修改后,我不再获得KeyError
,但Time
和Ampl
会发出另一个错误,指出索引预计为integers
而不是{{1} }或str
及其接受的唯一值为slices
或1
,其他任何值均为0
答案 0 :(得分:0)
关于pandas文档,你已经绘制了一个像这样的DataFrame:
要使用标签
plt.figure()
data_tables.plot()
plt.legend(loc='best')