我正在尝试对多个.csv文件进行分析。 我有一个包含500多个.csv的文件夹,我想从每个文件夹中提取一些信息,然后使用提取的信息创建一个唯一的.csv。 我正在考虑打开一个文件,执行计算(例如提取RMS,最大值,最小值),使用append()方法将这些值存储在新的DataFrame中,然后将它们移至下一个文件。 不幸的是,到目前为止,我仍然在标题中提到这个问题。在分析输出中的文件时,出现错误“ TypeError:列表索引必须是整数或切片,而不是str”
import os
import pandas as pd
import matplotlib.pyplot as plt
new_df=[]
temp_cols=['Hour','Minute','Second','x_second','RTD_sensor']
### Set your path to the folder containing the .csv files
PATH = 'C:\\Users\\UserName\\Documents\\python\\NASA\\FEMTOBearingDataSet\\Training_set\\Bearing1_1\\temp\\' # Use your path
### Fetch all files in path
fileNames = os.listdir(PATH)
### Filter file name list for files ending with .csv
fileNames = [file for file in fileNames if '.csv' in file]
### Loop over all files
for file in fileNames:
### Read .csv file and append to list
df = pd.read_csv(PATH + file, sep=',', header=None, names=temp_cols, index_col = None)
for column in range(0,len(temp_cols)):
new_df['Mean'].append(df.iloc[:,column].mean())
new_df.head()
我收到的错误消息如下:
TypeError Traceback (most recent call last)
<ipython-input-55-4a40c157922b> in <module>()
19 df = pd.read_csv(PATH + file, sep=',', header=None, names=temp_cols, index_col = None)
20 for column in range(0,len(temp_cols)):
---> 21 new_df['Mean'].append(df.iloc[:,column].mean())
22
23 ### Create line for every file
TypeError: list indices must be integers or slices, not str