Как обработать другой файл Excel в Python - PullRequest
0 голосов
/ 18 мая 2018

Доброе утро.Я начинаю с Python, и у меня есть проблема.Мне нужно найти все файлы .xls (все имеют одинаковый заголовок) и объединить все в один DataFrame, поэтому я должен сказать, что первую строку файла следует игнорировать.Текущий код, который я использую:Конкат компании должен сформировать один файл. Полоса компании - удалить пробелы, которые есть в заголовке столбца.Когда я запускаю код, он возвращает мне эту ошибку: «объект erro NoneType 'не повторяется»

Может кто-нибудь помочь мне с этой ошибкой?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Это должно делать то, что вы хотите.

import pandas as pd
import numpy as np

import glob
glob.glob("C:/your_path_here/*.xlsx")

all_data = pd.DataFrame()
for f in glob.glob("C:/your_path_here/*.xlsx"):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)
    print(all_data)

Вот еще один вариант для рассмотрения.

import pandas as pd

# filenames
excel_names = ["C:/your_path_here/Book1.xlsx", "C:/your_path_here/Book2.xlsx", "C:/your_path_here/Book3.xlsx"]

# read them in
excels = [pd.ExcelFile(name) for name in excel_names]

# turn them into dataframes
frames = [x.parse(x.sheet_names[0], header=None,index_col=None) for x in excels]

# delete the first row for all frames except the first
# i.e. remove the header row -- assumes it's the first
frames[1:] = [df[1:] for df in frames[1:]]

# concatenate them..
combined = pd.concat(frames)

# write it out
combined.to_excel("c.xlsx", header=False, index=False)


# Results go to the default directory if not assigned somewhere else.
# C:\Users\Excel\.spyder-py3
0 голосов
/ 18 мая 2018

А что вместо этого?

fileLista = glob.glob('*.xls')
Company = pd.DataFrame()
for arquivo in fileLista:
    df = pd.read_excel(arquivo)
    Company= pd.concat([Company,df])
    Company.columns = Company.columns.str.strip()
...