Основные операции с txt-файлами и sql-файлами серии pandas

Python анализ данных
Основные операции с txt-файлами и sql-файлами серии pandas

1. Импортируйте текстовый файл

Содержимое файла test.txt, используемого в этой статье, выглядит следующим образом:

image-20210713232357891.png

Импортировать текстовый файл с помощью метода read_table()

import pandas as pd

df = pd.read_table(r'C:\Users\admin\Desktop\test.txt')
print(df)

result:

  我是李华。 今天本来留下班里十几个人做大扫除结果他们都跑了,只留下了我一个人干完了所有活。 回家的路上真不巧又下了雨,
0  雨太大把我自行车前轮胎上的辐条都冲走了,我非常生气。 为了报复今天发生的一切,我骑着钢圈回到...         
1                                     并把教室里的椅子都扔了出去。 

Этот метод является общей функцией для импорта файлов с разделителями в DataFrame. Можно импортировать не только файлы .txt, но и файлы .csv.

df = pd.read_table(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv')
print(df)

result:

   区域,省份,城市
0  东北,辽宁,大连
1  西北,陕西,西安
2  华南,广东,深圳
3  华北,北京,北京
4  华中,湖北,武汉

Использование других параметров метода read_table() в основном такое же, как и в методе read_csv(), и здесь повторяться не будем.

2. Импортируйте файл sql

2.1 Установите библиотеку зависимостей pymysql

Python использует pymysql для подключения к MySQL, который необходимо установить вручную.image-20210713233131704.png

import pandas as pd
import pymysql

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf-8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

Ошибка в это время

image-20210713234105887.pngПосле изменения charset='utf8' ошибка устранена:

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

result:

   eID NAME sex       birth jobs      firJob    hiredate
0    1   张三   男  1990-06-21   教师  2005-06-20  2009-08-26
1    2  鲁怀德   男  2004-06-29   工人  2018-08-01  2021-01-06
2    3  赵燕妮   女  1994-07-06  售货员  2004-09-21  2019-05-23

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

image-20210713234431680.pngПримечание. Когда python использует pymysql для взаимодействия с MySQL, метод кодирования может быть записан только как utf8, обычно не записывайте его как utf-8.

3. Резюме

При импорте данных в pandas в основном используется метод read_x(), где x представляет формат импортируемого файла.

В дополнение к read_excel() для импорта файлов .xlsx, read_csv() для импорта файлов .csv, read_table() для импорта txt и read_sql() для импорта файлов sql, здесь перечислены некоторые другие методы. Они не используются часто и не будут подробно объясняться здесь. Он будет обновлен позже, если он будет использоваться.

pd.read_xml()
pd.read_html()
pd.read_json()
pd.read_clipboard()
pd.read_feather()
pd.read_fwf()
pd.read_gbq()
pd.read_orc()