【问题标题】:How to plot multiple CSV files in a folder using python如何使用python在一个文件夹中绘制多个CSV文件
【发布时间】:2020-01-19 16:44:40
【问题描述】:

假设我有多个 CSV 文件,它们的 x 和 y 坐标都从第 15 行开始,分别位于它们自己的 1 和 2 列中。 我只想遍历运行此脚本的文件夹中的所有 CSV 文件并仅绘制 x 和 y。

到目前为止,我的想法是在当前目录中使用 glob 并导入 panda,以便我可以使用“.read_csv”。

但是,我不太确定如何设置运行所有 .csv 文件所需的 for 循环

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
headers = ['x', 'y']
df = pd.read_csv('C:\Users\User1\Downloads\DataLog.CSV',names=headers)
print (df)

# plot
plt.plot(x,y)
plt.show()

这就是我目前所做的,只是为了让它在单个文件上工作。 但是,运行它会产生错误。

(unicode 错误)“unicodeescape”编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义

【问题讨论】:

  • 您好!这个想法似乎是正确的。尝试实现它,如果你有错误回来,显示你的代码和错误回溯。 Stackoverflow 不是免费的编码服务:事实上,这个问题太宽泛了。
  • 谢谢,我更新了我一直在篡改的代码。

标签: python pandas csv matplotlib plot


【解决方案1】:

这是非常不具体的,所以我只能给你一个我通常如何做的一般例子,你必须自己找出你的具体案例中出现的错误。

from glob import glob
import pandas as pd
import matplotlib.pyplot as plt

All_files = glob('*.csv')
headers = ('x','y')


for file in All_files:

    name = file.split('.csv')[0]

    df = pd.read_csv(file,
                      names=headers,
                      skiprows=15)

    x,y = df['x'], df['y']

    fig, ax = plt.subplots(figsize=(7,4))

    ax.plot(x,y)


    plt.tight_layout()
    plt.savefig(name+'.png', dpi=300, bbox='tight')

发生 unicode 错误,因为您在开头指定的文件路径没有“r”。 python 中的字符串通常需要声明为“原始”字符串,以免被误解。你的文件路径: 'C\users\...' 包含一个 '\u',它被解释为一个 unicode 转义字符。在 python 中,您要么必须使用前导 '\' 声明字符串文字,要么在其前面放一个 r,这样: 'C\\users\\...' 要么 r'C\users\...'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-21
    • 2018-05-29
    • 2014-07-18
    • 2017-07-14
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 2019-10-27
    相关资源
    最近更新 更多