有一个包含大量数据的文件夹,例如,该文件夹包含“ .html”文件,“。jpeg”文件,“。pdf”文件,“。csv”文件(有很多“ .csv” excel包含不同文件名的文件夹中的工作表)。这是仅列出csv文件的代码。
有没有一种方法,当我列出所有“ .csv”文件时,我将输入相应的代码以绘制图形。
import os
path = "F:\\Users\\Desktop\\Data\\Summary"
files = []
# r=root, d=directories, f = files
for r, d, f in os.walk(path):
for file in f:
if '.csv' in file:
files.append(os.path.join(r, file))
for f in files:
print(f)
当我运行上面的代码时,我得到的输出为:
F:\\Users\\Desktop\\Data\\Summary\Test_Summary_1.csv
F:\\Users\\Desktop\\Data\\Summary\Test_Summary_2.csv
F:\\Users\\Desktop\\Data\\Summary\Test_Summary_3.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
我如何对其进行修改以达到上述要求?
答案 0 :(得分:1)
如果遇到文件没有按正确顺序列出的麻烦,您可以按以下方式对文件名列表进行排序:
>>> x = ['abc_1.csv', 'abc_2.csv', 'abc_0.csv']
>>> x.sort()
>>> x
['abc_0.csv', 'abc_1.csv', 'abc_2.csv']
如果您知道要绘制哪些csv数据。您可以按照以下步骤将文件读取到numpy
数组中
from numpy import loadtxt
data = loadtxt(filename, delimiter=',')
然后您可以使用matplotlib绘制数据
import matplotlib.pyplot as plt
plt.plot(data[:,0], data[:,1], 'ro')
plt.show()