Python读取多个csv文件并将它们附加到df中



我有一个文件夹,里面有多个csv文件。其中一些的名称以字符串"REC_"开头我想获取所有以该字符串开头的文件,并将它们附加到一个df中。我该怎么做?

我只取一个的方法是

with open(path_to_my_folder, 'r') as csvfile:
reader = csv.reader(csvfile)

通过这种方式,我需要在"path_to_my_folder"变量中指定确切的文件。

您谈论的是数据帧,所以我想您愿意使用panda。您可以使用内置的pathlib模块轻松地对csv文件进行迭代。最终连接您的帧:

from pathlib import Path
import pandas as pd
path_dir = Path(path_to_my_folder)
list_dfs = []
for path_file in path_dir.glob('REC_*.csv'):
df_small = pd.read_csv(path_file)
list_dfs.append(df_small)

df = pd.concat(list_dfs, axis=0) 

首先,您可以列出所有以REC_开头的文件(如果其中一些不是.csv,则还需要检查扩展名(。然后,您可以制作一个数据帧列表,每个数据帧包含一个REC_文件。最后,pd.concat()可以用于连接数据帧。这里axis=0意味着我们将它们添加到行上(将它们垂直堆叠在一起(。

REC_file_1.csv
val_1, val_2
1, 2
2, 4
REC_file_2.csv
val_1, val_2
3, 6
4, 8
import os
import pandas as pd
# All files in directory
print(os.listdir())
# ['other_file_1.csv', 'REC_file_1.csv', 'REC_file_2.csv', 'script.py']

rec_file_names = [file for file in os.listdir() if file.startswith('REC_')]
print(rec_file_names)  # ['REC_file_1.csv', 'REC_file_2.csv']
dataframes = []
for filename in rec_file_names:
dataframes.append(pd.read_csv(filename))
data_concated = pd.concat(dataframes, axis=0)
print(data_concated)
val_1   val_2
0      1       2
1      2       4
0      3       6
1      4       8

相关内容

  • 没有找到相关文章

最新更新