打开具有特定扩展名的文件,无论其名称如何
Open a file with a specific extension, regardless of the name
我有以下代码:
folder_names = []
spreadsheet_contents = []
all_data = pd.DataFrame()
current_directory = Path.cwd()
for folder in current_directory.iterdir():
folder_names.append(folder.name)
file_n = '*.csv'
spreadsheet_path = folder / file_n
spreadsheet_contents.append(pd.read_excel(spreadsheet_path, skiprows = 1, header = None, usecols = [5]))
问题是每个文件夹中的 .csv 文件命名不同。 '*.csv' 方法不起作用。有谁知道如何打开每个子文件夹的 .csv 文件,即使它们的名称都不同?
为了简单起见,我没有写完整的代码,
import glob
将file_n = '*.csv'
替换为file_n = glob.glob('*.csv')
并遍历文件名列表。
您似乎在使用 pathlib
作为路径。 pathlib
支持使用 **
语法的递归 globbing(虽然可能很慢):
files = Path('.').glob('**/*.csv')
要读取文件,您可以执行以下操作(传递适合您的文件结构的参数):
pd.concat(pd.read_csv(f) for f in files)
我有以下代码:
folder_names = []
spreadsheet_contents = []
all_data = pd.DataFrame()
current_directory = Path.cwd()
for folder in current_directory.iterdir():
folder_names.append(folder.name)
file_n = '*.csv'
spreadsheet_path = folder / file_n
spreadsheet_contents.append(pd.read_excel(spreadsheet_path, skiprows = 1, header = None, usecols = [5]))
问题是每个文件夹中的 .csv 文件命名不同。 '*.csv' 方法不起作用。有谁知道如何打开每个子文件夹的 .csv 文件,即使它们的名称都不同?
为了简单起见,我没有写完整的代码,
import glob
将file_n = '*.csv'
替换为file_n = glob.glob('*.csv')
并遍历文件名列表。
您似乎在使用 pathlib
作为路径。 pathlib
支持使用 **
语法的递归 globbing(虽然可能很慢):
files = Path('.').glob('**/*.csv')
要读取文件,您可以执行以下操作(传递适合您的文件结构的参数):
pd.concat(pd.read_csv(f) for f in files)