读取多个CSV文件并合并Python Pandas



我正在读取基于名称的特定csv文件名,代码为:

csv_names = [s for s in files_csv if "drive" in s]

输出:

['drive_1.csv',
'drive_2.csv',
'drive_3.csv',
'drive_4.csv']

我怎样才能简单地合并这些文件?

我知道这样做:

df = pd.read_csv(csv_names[0], sep=';', header=None) 
df1 = pd.read_csv(csv_names[1], sep=';', header=None)
df2 = pd.read_csv(csv_names[2], sep=';', header=None)
df3 = pd.read_csv(csv_names[3], sep=';', header=None)

我不想一个接一个地读。然后将它们合并。我希望有人有个好主意。

您可以使用pd.concat和列表理解:

df = pd.concat([pd.read_csv(csv_name, sep=';', header=None) for csv_name in csv_names])
import pandas as pd
df = pd.DataFrame()
for csv in csv_name:
df = pd.concat([df, pd.read_csv(csv, sep=';', header=None)])
df.to_csv('Merged_Data_Frame.csv', index=False)

希望这能有所帮助。这将合并并将它们保存到csv中以供以后使用。

最新更新