首页 > 解决方案 > AttributeError:“列表”对象没有属性“to_csv”

问题描述

我正在尝试将合并的数据框保存到 CSV 文件中。一旦代码到达“data.to_csv”行,它就会中断。我的代码如下:

import pandas as pd
import numpy as np
import os,errno
import glob


print ("Path has been read successfully")
path1 = glob.glob('S:\*Data\*Files\*Raw Data\*CPU\*Perf\*YesterdayDataset*.xlsx')
print (path1)
path2 = glob.glob("S:\*Data\*Files\*Raw Data\*CPU\*Perf\*CPUPerf_201920.csv")
print ("Path has been read successfully")
print ("Action has been completed successfully")

data = []

for df in path1:
    df = pd.read_excel(df)  
    data.append(df)

data.to_csv("H:\\test1.csv", index = False)



def sremove():
    try:
        os.remove()
    except OSError as e:
        if e.errno != errno.ENOENT:
            raise 

执行此代码后我收到的错误是:

AttributeError:“列表”对象没有属性“to_csv”

对此的任何帮助将不胜感激。谢谢

标签: pythonpandas

解决方案


The problem is your data object is a list of the DataFrames. You can either convert the DataFrames individually, e.g. df.to_csv(...) or merge them together and output as one file.

Try changing this part:

data = []

for df in path1:
    df = pd.read_excel(df)  
    data.append(df)

data.to_csv("H:\\test1.csv", index = False)

To this:

df = pd.concat(pd.read_excel(fl) for fl in path1)
df.to_csv("H:\\test1.csv", index = False)

推荐阅读