【发布时间】:2019-05-30 10:23:48
【问题描述】:
一个文件夹中有很多 csv excel 表。所有 excel 表仅包含前 3 列中的数据。我会从很多csv表中选择对应的csv表,然后画出来。这里是代码
import os
path = "F:\\Users\\Desktop\\Data\\Summary"
files = []
folder_data = os.listdir(path)
folder_data = [i+"\\" for i in folder_data]
# r=root, d=directories, f = files
for r, d, f in os.walk(path):
for file in f:
if '.csv' in file:
files.append(file)
for i, f in enumerate(files):
print(( i,f))
print('\n'.join(f'{i}-{v}' for i,v in enumerate(files)))
csv_code = str(int(input("Enter corresponding code to plot: ")))
csv_path = path + "\\" + folder_data[csv_code]
df = pd.read_csv(csv_path, header=None)
df1 = df.iloc[:,0:2]
plt.plot(df1[0], df1[1])
当我运行代码时,我希望输出显示如下(我的意思是我希望显示文件夹中的所有 csv 文件,以便我可以选择我想要的):
0-Test_Summary_1.csv
1-Test_Summary_2.csv
2-Test_Summary_3.csv
3-Test_Summary_4.csv
4-Test_Summary_5.csv
5-Test_Summary_6.csv etc
我得到的错误是
FileNotFoundError:
尽管文件夹中有 csv 文件。我收到错误,因为找不到文件错误
【问题讨论】:
-
首先你正在做
folder_data = [i+"\\" for i in folder_data],然后你再添加一个sv_path = path + "\\"。结果你得到了无效的路径。 -
folder_data = [i+"\\" for i in folder_data]这行导致问题 -
使用
os.path.join功能而不是通过`\`加入。 -
如何修改此代码?
-
@PriyankaMishra,应用你的编码技能。我们已经向您指出了问题所在,现在就解决它。