如何使用python在一个文件夹中绘制多个CSV文件

时间:2019-09-18 16:59:44

标签: python pandas csv matplotlib plot

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

到目前为止,我的想法是在当前目录中使用glob并导入熊猫,以便我可以使用“ .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转义被截断

1 个答案:

答案 0 :(得分:0)

这是非常不确定的,因此,我只能给您一个有关我通常如何做的一般示例,您必须自己弄清楚具体情况下发生的错误。

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\...'

相关问题