gpt4 book ai didi

python - 绘制隐藏在不同目录中的 CSV

转载 作者:太空宇宙 更新时间:2023-11-03 15:41:11 25 4
gpt4 key购买 nike

我正在尝试挖掘我的计算机并在一个图上绘制一堆 CSV(我使用的是 Python 2.7 和 Pandas)。

虽然所有 CSV 文件都具有相同的名称 file.csv,但它们位于无数不同的文件夹中。我在下面完成了以下操作,将 CSV 包装到数据框中,然后根据特定值范围绘制数据框。

我想将每个图标记为文件夹名称(即让图例指定 CSV 所在的文件夹目录)

import pandas as pd
from pandas import read_csv
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
import os


class do(object):


def something(self):

style.use('ggplot')

file_1 = r'C:\User\me\PathABC\Folder123\file.csv'
file_2 = r'C:\User\me\PathABC\Folder456\file.csv'
file_3 = r'C:\User\me\PathABC\Folder789\file.csv'
file_4 = r'C:\User\me\PathABC\Folder101112\file.csv'




df1 = pd.read_csv(file_1,header=None)
df2 = pd.read_csv(file_2,header=None)
df3 = pd.read_csv(file_3,header=None)
df4 = pd.read_csv(file_4,header=None)


plt.plot(df1[0],df1[1],label='Folder123')
plt.plot(df2[0],df2[1],label='Folder456')
plt.plot(df3[0],df3[1],label='Folder789')
plt.plot(df4[0],df4[1],label='Folder101112')


plt.xlim([200000,800000])

plt.legend()
plt.ylabel('Amplitude')
plt.xlabel('Hz')

plt.grid(True,color='k')

plt.show()


x=do()
x.something()

本质上,我想自动化这个过程,以便我可以使用以下逻辑解析我的计算机:

where file.csv exists, plot it
label plot with folder name of where file.csv came from

最佳答案

遍历文件路径是一个答案,但在更简单的情况下,您可以使用glob.glob,其中目标文件夹都位于文件系统中的相同深度。例如,

for filename in glob.glob('somewhere/sheets/*/file.csv')

将迭代 somewhere/sheets 的任何子文件夹中名为 file.csv 的所有文件。如果它们都向下两级,则 glob.glob('somewhere/sheets/*/*/file.csv') 将起作用,如果它们都向下一或两级,您可以加入来自两次 glob 调用的列表。

关于python - 绘制隐藏在不同目录中的 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42103695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com