удаление столбцов в нескольких таблицах Excel - PullRequest
4 голосов
/ 02 марта 2020

Есть ли способ в python, чтобы я мог отбрасывать столбцы в нескольких файлах Excel? т.е. у меня есть папка с несколькими файлами xlsx. каждый файл имеет около 5 столбцов (дата, значение, широта, долгота, регион). Я хочу отбросить все столбцы, кроме даты и значения в каждом файле Excel.

Ответы [ 2 ]

4 голосов
/ 02 марта 2020

Допустим, у вас есть папка с несколькими файлами Excel:

from pathlib import Path

folder = Path('excel_files')

xlsx_only_files = list(folder.rglob('*.xlsx'))


def process_files(xls_file):

    #stem is a method in pathlib 
    #that gets just the filename without the parent or the suffix
    filename = xls_file.stem

    #sheet = None ensure the data is read in as a dictionary
    #this sets the sheetname as the key
    #usecols allows you to read in only the relevant columns
    df = pd.read_excel(xls_file, usecols = ['date','value'] ,sheet_name = None)

    df_cleaned = [data.assign(sheetname=sheetname,
                              filename = filename)
                  for sheetname, data in df.items()
                 ]

    return df_cleaned


combo = [process_files(xlsx) for xlsx in xlsx_only_files]

final = pd.concat(combo, ignore_index = True)

Дайте мне знать, как это происходит

Стебель

0 голосов
/ 02 марта 2020

Я предлагаю вам определить столбцы, которые вы хотите сохранить в виде списка, а затем выбрать в качестве нового кадра данных.

# after open excel file as 

df = pd.read_excel(...)

keep_cols = ['date', 'value']
df = df[keep_cols] # keep only selected columns it will return df as dataframe

df.to_excel(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...