Найти в Дзене
programmer's notes (python and more)

Программирование на языке Python. pandas, импорт данных

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео. Статья в продолжении цикла статей о 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 После этог

Доброго времени суток, читатели, зрители моего канала 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. Вот эта подборка. Она не закончена и будет пополняться.

Программирование и проектирование реляционных баз данных | programmer's notes (python and more) | Дзен

Здесь же я приведу только пример "вытаскивания" табличных данных из БД 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.

Рисунок 1. Результат получения табличных данных из postgresql
Рисунок 1. Результат получения табличных данных из postgresql

Ну, пока всё!

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

У вас всё импортное, все данные, а что у вас своё?
У вас всё импортное, все данные, а что у вас своё?