Porady. Pandas. Python. Django. Microsoft Power BI. Tableau.

Python. Wczytywanie plików tekstowych, Excel i CSV

07.2024 | python | wczytywanie plików | plik tekstowy

Python oferuje różne metody i biblioteki do wczytywania danych z plików. W tym artykule omówimy, jak wczytywać pliki tekstowe, arkusze Excel oraz pliki CSV.

1. Wczytywanie plików tekstowych

Python ma wbudowane funkcje do obsługi plików tekstowych.

# Metoda 1: Używając kontekstu 'with'
with open('plik.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)

# Metoda 2: Wczytywanie linii do listy
with open('plik.txt', 'r', encoding='utf-8') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

# Metoda 3: Iteracja po liniach
with open('plik.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip())

Uwaga: Zawsze określajmy kodowanie (np. 'utf-8') przy otwieraniu plików, aby uniknąć problemów z niestandardowymi znakami.

2. Wczytywanie plików Excel

Do wczytywania plików Excel najczęściej używa się biblioteki openpyxl dla plików .xlsx lub xlrd dla starszych plików .xls.

# Instalacja: pip install openpyxl

import openpyxl

# Wczytywanie całego arkusza
workbook = openpyxl.load_workbook('dane.xlsx')
sheet = workbook.active

# Odczyt danych z komórek
for row in sheet.iter_rows(values_only=True):
    print(row)

# Odczyt konkretnej komórki
cell_value = sheet['A1'].value
print(cell_value)

# Iteracja po wierszach i kolumnach
for row in sheet.iter_rows(min_row=1, max_col=3, max_row=10):
    for cell in row:
        print(cell.value, end=" ")
    print()

3. Wczytywanie plików CSV

Python ma wbudowany moduł csv do obsługi plików CSV (Comma-Separated Values).

import csv

# Metoda 1: Czytanie jako listy
with open('dane.csv', 'r', newline='', encoding='utf-8') as file:
    csv_reader = csv.reader(file)
    for row in csv_reader:
        print(row)

# Metoda 2: Czytanie jako słowniki
with open('dane.csv', 'r', newline='', encoding='utf-8') as file:
    csv_reader = csv.DictReader(file)
    for row in csv_reader:
        print(row)

# Metoda 3: Używanie pandas (wymaga instalacji: pip install pandas)
import pandas as pd

df = pd.read_csv('dane.csv')
print(df.head())  # Wyświetla pierwsze 5 wierszy

Dodatkowe wskazówki:

  • Dla dużych plików CSV, rozważ użycie pandas, które jest bardziej wydajne i oferuje zaawansowane funkcje analizy danych.
  • Przy wczytywaniu plików CSV, zwróć uwagę na separator (delimiter) - nie zawsze jest to przecinek.
  • Dla plików Excel z wieloma arkuszami, możesz wybrać konkretny arkusz: sheet = workbook['Nazwa arkusza'].

Pamiętaj: Zawsze sprawdzaj, czy plik istnieje przed próbą jego odczytu. Możesz użyć modułu os do sprawdzenia istnienia pliku:

import os

if os.path.exists('plik.txt'):
    # kod do wczytania pliku
else:
    print("Plik nie istnieje!")

Umiejętność efektywnego wczytywania różnych typów plików jest kluczowa w analizie danych i automatyzacji zadań. Python, dzięki swojej bogatej bibliotece standardowej i zewnętrznym pakietom, oferuje elastyczne i wydajne narzędzia do pracy z różnorodnymi formatami danych.

Wdrażam rozwiązania analityczne, buduję raporty zarządcze i pomagam zrozumieć dane.

Korzystam z Google Marketing Cloud, Microsoft Power BI, Google Cloud oraz Python.

Pracowałem m.in. dla Credit Suisse, Phonak, Hansaton, Unitron, Nestle, IBM, Play.

Jestem współtwórcą grupy Hexe Capital SA.

Zapraszam do lektury i współpracy.

Krzysztof Surowiecki

Chcę porozmawiać o współpracy →

Moje certyfikaty