РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
331 of 687 menu

Функция read_fwf

Функция read_fwf применяется для чтения текстовых файлов, в которых данные выровнены по столбцам фиксированной ширины. В отличие от read_csv, разделители здесь не требуются - поля определяются позициями символов. Основные параметры: filepath_or_buffer - путь к файлу, colspecs - список кортежей (начало, конец) для каждого столбца, widths - список целых чисел с шириной каждого столбца, names - имена столбцов.

Синтаксис

pd.read_fwf(filepath_or_buffer, colspecs='infer', widths=None, names=None, **kwargs)

Пример

Пусть у нас есть файл data.txt с данными фиксированной ширины:

a b c 1 10 100 2 20 200 3 30 300 4 40 400 5 50 500

Считаем этот файл в таблицу. Укажем ширину столбцов вручную:

import pandas as pd df = pd.read_fwf('data.txt', widths=[5, 5, 5]) print(df)

Результат выполнения кода:

a b c 0 1 10 100 1 2 20 200 2 3 30 300 3 4 40 400 4 5 50 500

Обратите внимание: пробелы сохраняются.

Пример

Используем параметр colspecs для задания точных позиций столбцов. Каждый кортеж - это (начало, конец) позиции в строке:

import pandas as pd df = pd.read_fwf( 'data.txt', colspecs=[(0, 3), (4, 7), (8, 11)], names=['col1', 'col2', 'col3'] ) print(df)

Результат выполнения кода:

col1 col2 col3 0 1 10 100 1 2 20 200 2 3 30 300 3 4 40 400 4 5 50 500

Пример

Обработаем файл с пропусками и разной шириной столбцов:

id name age 1 Alice 25 2 Bob 30 3 Carol 35

Укажем ширину каждого столбца через параметр widths:

import pandas as pd df = pd.read_fwf('data.txt', widths=[3, 6, 4]) print(df)

Результат выполнения кода:

id name age 0 1 Alice 25 1 2 Bob 30 2 3 Carol 35

Пример

Чтение файла без указания ширины - Pandas попытается определить её автоматически:

a b c 1 10 100 2 20 200 3 30 300
import pandas as pd df = pd.read_fwf('data.txt') print(df)

Результат выполнения кода:

a b c 0 1 10 100 1 2 20 200 2 3 30 300

Автоопределение работает для файлов с разделителями-пробелами.

Смотрите также

  • функция read_csv,
    которая читает файлы с разделителями
  • функция read_table,
    которая читает файлы с произвольным разделителем
  • функция read_excel,
    которая читает файлы Excel
  • функция read_json,
    которая читает данные в формате JSON
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить