您好我有xlsx文件,并使用pandas将它们合并为一个数据帧。它工作但不是取回我在xlsx文件中的列名,而是将数字作为列而不是列标题成为一行:像这样:
Output: 1 2 3
COLTITLE1 COLTITLE2 COLTITLE3
当它们应该是这样的时候:
Output: COLTITLE1 COLTITLE2 COLTITLE3
列标题不是列标题,而是它们已成为一行。如何获取xlsx文件中的正确列名。为清楚起见,xlsx文件中的所有列名都相同。帮助将不胜感激下面的代码:
# import modules
from IPython.display import display
import pandas as pd
import numpy as np
pd.set_option("display.max_rows", 999)
pd.set_option('max_colwidth',100)
%matplotlib inline
# filenames
file_names = ["data/OrderReport.xlsx", "data/OrderReport2.xlsx"]
# read them in
excels = [pd.ExcelFile(name) for name in file_names]
# turn them into dataframes
frames = [x.parse(x.sheet_names[0], header=None,index_col=None) for x in excels]
# concatenate them
atlantic_data = pd.concat(frames)
# write it out
combined.to_excel("c.xlsx", header=False, index=False)
答案 0 :(得分:2)
我希望我能正确理解你的问题。你只需要摆脱index_col=None
,它将像往常一样返回列名:
frames = [x.parse(x.sheet_names[0], header=None) for x in excels]
如果你添加index_col=None
pandas会将你的列名称视为1行数据,而不是数据帧的列。