我有一个包含50个csv文件的文件夹,如countrieslist1.csv,countrieslist2.csv,countrieslist3.csv等。我有一个代码,可以使用pandas从csv文件中读取值并从数据中绘制所需的图形。我想要的是我的代码应该采用第一个csv文件,做绘图,并将其保存为png文件,然后它应该采取第二个csv文件做同样的事情,像这样的每一个csv文件,使在年底我应该有50 png文件(一个为每个csv文件)
我试过了
import pandas as pd
import os
import matplotlib.pyplot as plt
folder_path = "C:/Users/xyz/Desktop/Countrieslist"
df=pd.read_csv(folder_path)
X=df.'columnname'.value_counts.(normalize=True).head(5)
X.plot.barh()
plt.ylabel()
plt.xlabel()
plt.title()
plt.savefig(folder_path[:-3]+'png')
这给出了输出,但它只为一个单一的csv文件。但我想要一个代码,应该采取所有的csv文件一个接一个,做绘图,并将其保存为png文件。我怎么才能做到这一点?
3条答案
按热度按时间jhiyze9q1#
您可以使用以下代码:
countrieslist5.png
countrieslist8.png
输入数据:
new9mtju2#
由于已经导入了
os
,因此可以使用os
中的listdir
函数您可以使用以下代码迭代目录的内容,如果文件不是csv文件,则继续迭代
sshcrbum3#
先入先得
.csv
文件:下一步是在循环中施展你的魔法: