как сохранить, а затем извлечь некоторую информацию из имен файлов в dataframe

1

У меня есть почти 1000000 или даже больше файлов в пути. Моя конечная цель - извлечь некоторую информацию только из names файлов. До сих пор я сохранил имена файла в списке.

какая информация в именах файлов?

поэтому формат имен файла выглядит примерно так:

09066271_142468576_1_Haha_-Haha-haha_2016-10-07_haha-false_haha2427.txt

все ха-ха - это другой текст, который не имеет значения.

Я хочу извлечь из названий имена 09066271 и 2016-10-07 и сохранить в кадре данных. первое число всегда 8 символов.

До сих пор я сохранил целые имена текстовых файлов в списке:

path = 'path to the saved txt files/fldr'
file_list = os.listdir(path)

во-первых, я хотел сохранить целые имена файлов txt в фрейме данных, а затем выполнить эти операции над ними. кажется, мне нужно сначала прочитать numpy, а затем изменить его, чтобы его можно было прочитать в пандах. однако я не сейчас перед тем, что будет изменением чисел.

df = pd.DataFrame(np.array(file_list).reshape(,))

Я был бы признателен, если бы вы могли дать мне свою идею и какой будет эффективный способ сделать это :)

Теги:
pandas
numpy
readfile

1 ответ

3
Лучший ответ

Вы можете использовать os для отображения всех файлов. Затем просто DataFrame и используйте строковые методы, чтобы получить нужные вам части имен файлов.

import pandas as pd
import os

path = 'path to the saved txt files/fldr'
file_list = os.listdir(path)

df = pd.DataFrame(file_list, columns=['file_name'])
df['data'] = df.file_name.str[0:8]
df['date'] = df.file_name.str.extract('(\d{4}-\d{2}-\d{2})', expand=True)

                                           file_name      data        date
0  09066271_142468576_1_Haha_-Haha-haha_2016-10-0...  09066271  2016-10-07
1  09014271_142468576_1_Haha_-Haha-haha_2013-02-1...  09014271  2013-02-18

Ещё вопросы

Сообщество Overcoder
Наверх
Меню