【发布时间】:2020-10-30 15:47:21
【问题描述】:
如何使用 os 合并特定文件夹中的所有 csv 文件。
所以下面的代码可以完成工作,但它将所有文件连接到脚本所在的同一目录中。
如何在不同的文件夹中使用它?
我的代码:
import os
import pandas as pd
import numpy as np
def get_df():
df=pd.DataFrame()
for file in os.listdir():
if file.endswith('.csv'):
aux=pd.read_csv(file, error_bad_lines=False)
df=df.append(aux)
return df
df=get_df()
df.to_csv(f"file_name.csv")
我尝试添加文件夹名称,但没有找到文件。
for file in os.listdir('My_folder_name\'):
【问题讨论】:
-
必须在python中吗?或者会 bash 工作:
cat *.csv > all_files.csv -
@JD Fries,需要python,因为所有代码库都在jupyter notebook中,合并文件是锦上添花
-
您的脚本可能没有在您的文件所在的目录中运行,尝试打印出
os.getcwd()以查看它从哪里运行,或者使用listdir()中的完整路径 -
@JDFrias,确切地说。因此,如果文件位于同一目录中,则代码将起作用。所以目标是访问不同目录/文件夹中的文件
-
我看到您在示例中使用了反斜杠,可能是窗口路径问题?尝试
os.path.join()或pathlib构建路径,或者使用正斜杠/不是最好的方法。
标签: python csv merge operating-system merge-file