尝试将超过 100 个 CSV 文件合并到单个 Excel 文件中,但条件如下: CSV 文件的特定行。 (包含的数据为第1-250行)
数据框 Excel 文件的第一列是 CSV 文件的名称。
1-100 个 CSV。 数据包含在第 1-250 行中。列大部分相同,一些 CSV 有额外的列数据。
所需输出:
1 个 Excel 工作表,其中所有 CSV 数据从第 2 列开始,第一列是 CSV 文件的名称(例如,
data1.csv
、data2.csv
表示适用的行)。
当前输出是正确的合并,但第 1 列未填充。
# importing the required modules
import glob
import pandas as pd
df = pd.DataFrame()
# specifying the path to csv files
path = "C:/Users/Staylor/Documents/Python test"
# csv files in the path
file_list = glob.glob(path + "/*.csv")
# list of excel files we want to merge.
# pd.read_excel(file_path) reads the csv
# data into pandas dataframe.
excl_list = []
for file in file_list:
excl_list.append(pd.read_csv(file))
df['col1'] = file
# create a new dataframe to store the
# merged excel file.
excl_merged = pd.DataFrame()
for excl_file in excl_list:
# appends the data into the excl_merged
# dataframe.
excl_merged = excl_merged.append(
excl_file, ignore_index=True)
# exports the dataframe into excel file with
# specified name.
excl_merged.to_excel('total_python.xlsx', index=False)
df['col1']= file
不正确。for file in file_list:
excl_list.append(pd.read_csv(file))
df['col1'] = file
import glob
import pandas as pd
path = "C:/Users/Staylor/Documents/Python test"
file_list = glob.glob(path + "/*.csv")
df_list = []
for file in file_list:
df = pd.read_csv(file).iloc[:250, :]
df.insert(0, 'File Name', file.split('/')[-1])
df_list.append(df)
excel_merged = pd.concat(df_list, ignore_index=True)
excel_merged.to_excel('total_python.xlsx', index=False)