Column moved while merge excel files?

Question:

I tried to merged all excel files and all of them only contain 1 column. However, the merged data was moved the next column. Does anyone know how to fix that?
Here is the Python code:

import glob
import pandas as pd
file_path = "c:merge-excel"
files = (file_path+"/*.xlsx")
all_files = glob.glob(files)
merged_data = pd.concat([pd.read_excel(a) for a in all_files])
merged_data.to_excel (file_path+"/Merged_files.xlsx", index=False, encoding='utf-8-sig')

file 1.xlsx:

1
2
3
4
5
6
7    

file 2.xlsx:

8
9
10
11
12
13
14
15

file 3.xlsx:

16
17
18
19
20
21
22
23

Merged_files.xlsx:

1 | 8 | 16
2
3
4
5
6
7
   9
   10
   11
   12
   13
   14
   15
        17
        18
        19
        20
        21
        22
        23
Asked By: David L

||

Answers:

Your issue is that the default value of the header parameter to read_excel is 0, which means it is taking the first row in each excel file and using it as a column header. So you have 3 columns 1, 8, and 16 which were the first row’s value in each file. Use

pd.read_excel(a, header=None)

to work around this.

Answered By: Nick
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.