pandas 如何合并到不同的Excel文件到一个新的Excel文件使用Python

ego6inou  于 11个月前  发布在  Python
关注(0)|答案(2)|浏览(124)

问题是我不能把它们都合并起来
首先,在第一阶段,我要求用户给予他们的Excel文件的两个路径,作为ExceloathH和ExcelpathL。因此,这些必须添加到新的Excel文件,然后在第二阶段,2 Excel路径应添加到新的Excel文件(在新的文件,其4 Excel文件的容器)我想合并这些文件到一个新的Excel文件称为:sys_excel

new_excel_by_user=str(input("write the name of your new EXCEL file:"))
user_excel = pd.ExcelWriter(new_excel_by_user+'.xlsx', engine='xlsxwriter')
sys_excel=pd.ExcelWriter('sys_excel11.xlsx', engine='xlsxwriter')

excel_list_H= []
excel_list_L=[]

for i in range(v):
   print("\npriod %d :"%(i+1))

   excelpathH=''+input(''+r"Insert your Excel path(HIGH):")
   excelpathL=''+input(''+r"Insert your Excel path(LOW):")
   excelpathH=excelpathH.replace('"', '')
   excelpathL=excelpathL.replace('"', '')
   dfH=pd.read_excel(os.path.join(excelpathH), engine='openpyxl' )
   dfL=pd.read_excel(os.path.join(excelpathL), engine='openpyxl' )

字符串

gv8xihay

gv8xihay1#

您可以直接合并从Excel文件读取的DataFrames,而无需将其存储在列表中。这是您的更新版本代码

import pandas as pd
import os

new_excel_by_user = str(input("Write the name of your new EXCEL file: "))

sys_excel = pd.ExcelWriter('sys_excel11.xlsx', engine='xlsxwriter')

merged_df_H = pd.DataFrame()
merged_df_L = pd.DataFrame()

for i in range(v):
    print("\nPeriod %d :" % (i+1))

    excelpathH = input("Insert your Excel path (HIGH): ")
    excelpathL = input("Insert your Excel path (LOW): ")

    excelpathH = excelpathH.replace('"', '')
    excelpathL = excelpathL.replace('"', '')

    dfH = pd.read_excel(os.path.join(excelpathH), engine='openpyxl')
    dfL = pd.read_excel(os.path.join(excelpathL), engine='openpyxl')

    merged_df_H = pd.concat([merged_df_H, dfH])
    merged_df_L = pd.concat([merged_df_L, dfL])

# Write merged dataframes to a new Excel file
with pd.ExcelWriter(new_excel_by_user + '.xlsx', engine='xlsxwriter') as user_excel:
    merged_df_H.to_excel(user_excel, sheet_name='High', index=False)
    merged_df_L.to_excel(user_excel, sheet_name='Low', index=False)

# Optionally, if you want to merge the data into 'sys_excel11.xlsx'
merged_df_H.to_excel(sys_excel, sheet_name='High', index=False)
merged_df_L.to_excel(sys_excel, sheet_name='Low', index=False)

sys_excel.save()

字符串
在这里,我只是直接将Excel文件合并到merged_df_Hmerged_df_L Dataframe 中,而不使用中间列表。

nhaq1z21

nhaq1z212#

import os
import pandas as pd
data_file='filepath'
df=[]
for file in os.listdir(data_file):
  if file.endswith('.csv'):
   df.append(pd.read_csv(os.path.join(data_file,file)))
m_df=pd.concat(df,ignore_index=True)

m_df.to_excel("name.xlsx")

字符串

相关问题