Python 将所有数据帧合并到一个循环中
我在某个路径中有几个CSV文件。我想把它们加在一起,我用一个函数费力地完成了这项工作,并将各个数组分配给数据帧。 是否有一个选项可以在for循环中执行所有操作? 所以我不必做Python 将所有数据帧合并到一个循环中,python,pandas,dataframe,Python,Pandas,Dataframe,我在某个路径中有几个CSV文件。我想把它们加在一起,我用一个函数费力地完成了这项工作,并将各个数组分配给数据帧。 是否有一个选项可以在for循环中执行所有操作? 所以我不必做df1=pd.read\u csv(csv\u文件[0]和frames=[df1,df2,df3,df4] 当我尝试在for中循环读取时,我得到了一个错误 如何通过不引用单个数组CSV\u文件[0],而是在循环中执行所有操作来改进此代码 PATH = '' def find_csv(path): csv_files
df1=pd.read\u csv(csv\u文件[0]
和frames=[df1,df2,df3,df4]
当我尝试在for中循环读取时,我得到了一个错误
如何通过不引用单个数组CSV\u文件[0]
,而是在循环中执行所有操作来改进此代码
PATH = ''
def find_csv(path):
csv_files = []
print("Looking for files at ", path)
for file in Path(path).glob('*.csv'):
csv_files.append(str(file))
print("Found ", len(csv_files), " csv files")
return csv_files
CSV_FILES = find_csv(PATH)
df1 = pd.read_csv(CSV_FILES[0])
df2 = pd.read_csv(CSV_FILES[1])
df3 = pd.read_csv(CSV_FILES[2])
df4 = pd.read_csv(CSV_FILES[3])
frames = [df1, df2, df3, df4]
df = pd.concat(frames)
您可以创建数据帧列表,更改:
csv_files.append(str(file))
致:
然后将它们连接在一起:
df = pd.concat(CSV_FILES)
您可以创建数据帧列表,更改:
csv_files.append(str(file))
致:
然后将它们连接在一起:
df = pd.concat(CSV_FILES)
非常感谢您的快速回答!:)非常感谢您的快速回答!:)