Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Импорт данных в pandos
Статья в продолжении цикла статей о pandos: статья1, статья2, статья3.
Мы уже знаем, что таблицу DataFrame pandas можно получить непосредственно в программе и из файла csv. Продолжим теперь изучать возможности формирования DataFrame, для полноты добавив также возможности, о которых мы уже знаем.
Пример 1. Формирование в программе
#!/usr/bin/python3
import numpy as np
import pandas as pd
people = {'Фамилия': ['Иванов', 'Петров', 'Сидоров', 'Душечкина'],
'Год рождения': [1999, 1988, 1997, 2001],
'Зарплата': [88000.3, 65000.2, 70000.4, 75000.9]}
fr = pd.DataFrame(people)
print(fr)
Пример 2. Из файла csv.
#!/usr/bin/python3
import numpy as np
import pandas as pd
fr = pd.read_csv('./Таблица.csv')
print(fr)
Пример 3. Из файла xlsx (или xls)
Предварительно нужно установить библиотеку openpyxl обычным образом
pip3 install openpyxl
После этого
#!/usr/bin/python3
import numpy as np
import pandas as pd
fr = pd.read_excel('./Таблица.xlsx')
print(fr)
Здесь, однако есть важные моменты. Где располагаются данные на листе и на каком листе данные.
Рассмотрим некоторые параметры функции read_excel().
- index_col - с помощью данного параметра можно указать, что индексом таблицы DataFrame будет конкретный столбец электронной таблицы.
- skiprows - можно указать сколько строк сверху электронной таблицы следует пропустить.
- header - по умолчанию header берётся равным 0, т.е. в качестве заголовка берётся первая строка электронной таблицы. Если взять header=None, то в результирующей таблице не будет заголовков.
- names - можно передать список заголовков результирующей таблицы.
- usecols - можно указать какие столбцы взять. Например usecols='B:C'.
- sheet_name - можно указать с какого листа читать. Например sheet_name='Sheet1'.
Пример 4. Импорт из реляционной базы данных
У меня есть целая подборка, посвящённая проектированию и управлению реляционными базами данных, на примере postgresql. Вот эта подборка. Она не закончена и будет пополняться.
Здесь же я приведу только пример "вытаскивания" табличных данных из БД PostgreSQL. Нам понадобиться установить библиотеку sqlalchemy:
pip3 install sqlalchemy
Возможно нужно будет установить библиотеку psycopg2. Вот в этой моей статье обсуждается её установка. Ну, а далее можно написать и код
#!/usr/bin/python3
import numpy as np
import pandas as pd
from sqlalchemy import create_engine
user = 'postgres'
password = '123'
host = '192.168.0.30'
port = '5432'
database = 'new'
cs = f"postgresql://{user}:{password}@{host}:{port}/{database}"
engine = create_engine(cs)
sql = "select * from student"
fr = pd.read_sql_query(sql, engine)
print(fr)
Результат выполнения (для базы, которую я использую) см. на рисунке 1.
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.