Как извлечь конкретные данные из неорганизованного файла Excel без столбцов)

#python #pandas #glob

#питон #pandas #глоб

Вопрос:

Я достиг своего предела, и мои волосы становятся тоньше. Мне действительно нужна ваша помощь.

1. Попробуйте

Я хотел бы извлечь строку данных, содержащую конкретные слова «Супер банан«, из *.xlsx одной папки.

Вот файл pic. [1]: https://i.stack.imgur.com/Cb3yD.png

Но

2. Проблема

  • В этих неорганизованных файлах Excel нет столбцов. Есть много файлов, и я не могу добавить столбец вручную ко всем файлам.

    Я искал способ извлечь:

  1. строка, включающая ключевые слова «Супер банан»

    или

  2. строка до и после строки, включая ключевые слова

https://i.stack.imgur.com/Cb3yD.png

  • Заголовок A1 «Список покупок на понедельник 2020» будет изменен (список покупок на понедельник 2020, Список покупок на понедельник 2021 …)

3. Мой код

 import glob

files = glob.glob('*.xlsx')
print(files)

import pandas as pd
for file in files:
    df = pd.read_excel(file).fillna(value = 0)
    for row in df.values:
        data = df[df[''].str.contains('Super Banana',na=False)]
        data.to_excel('excel-data_find.xlsx', encoding='utf-8')
        print(data)
        print('Data was extracted')
 

Комментарии:

1. Пожалуйста, не размещайте изображения ваших данных. Добавьте минимальный жизнеспособный набор данных, чтобы люди могли с ним работать.

2. спасибо за ваш комментарий. но в него не включены мои важные данные.

Ответ №1:

используйте правильный путь к файлу. Пример : df = pd.read_excel('C:\Users\file.xlsx').fillna(value = 0)

Комментарии:

1. Спасибо за ваш комментарий. путь — это не проблема. Он находится в том же каталоге. проблема в пустом столбце, который я не хочу добавлять вручную. потому что слишком много файлов mamy. любое решение?