Python读取数据

发布时间:2023-05-21

Python是一门高级语言,常用于处理数据。在数据处理过程中,读取数据是非常重要的一步,本篇文章将从多个方面来详细阐述Python读取数据。

一、文件读取

Python可以打开、读取、写入文件。其中,文件读取是其中的重要部分。 1、普通文本文件读取:

# 读取普通文本文件
with open('file_path/file_name.txt', 'r') as f:
    # 每次读取一行
    line = f.readline()
    while line:
        print(line.strip())
        line = f.readline()

其中file_path/file_name.txt为文件的路径和文件名。 2、CSV文件读取:

# 读取CSV文件
import csv
with open('file_path/file_name.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

其中file_path/file_name.csv为文件的路径和文件名。 3、Excel文件读取:

# 读取Excel文件
import xlrd
workbook = xlrd.open_workbook('file_path/file_name.xls')
sheet = workbook.sheet_by_index(0)
for row in range(1, sheet.nrows):
    print(sheet.row_values(row))

其中file_path/file_name.xls为文件的路径和文件名。

二、网络数据读取

Python能够从网络中读取数据,比如从API接口中得到数据。 1、读取JSON格式数据:

# 读取JSON格式数据
import json
import urllib.request
url = "http://example.com/api/data"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
print(data)

其中http://example.com/api/data为API接口地址。 2、读取XML格式数据:

# 读取XML格式数据
import xml.etree.ElementTree as ET
import urllib.request
url = "http://example.com/api/data"
response = urllib.request.urlopen(url)
data = response.read()
root = ET.fromstring(data)
for child in root:
    print(child.tag, child.attrib)

其中http://example.com/api/data为API接口地址。

三、数据库读取

Python能够从数据库中读取数据,目前主要有MySQL和SQLite两种。 1、读取MySQL数据库:

# 读取MySQL数据库
import pymysql
# 连接数据库
conn = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="database_name"
)
# 获取游标
cur = conn.cursor()
# 执行SQL语句
cur.execute("SELECT * FROM table_name")
# 获取数据
data = cur.fetchall()
for row in data:
    print(row)
# 关闭游标和连接
cur.close()
conn.close()

2、读取SQLite数据库:

# 读取SQLite数据库
import sqlite3
# 连接数据库
conn = sqlite3.connect('database_name.db')
# 获取游标
cur = conn.cursor()
# 执行SQL语句
cur.execute("SELECT * FROM table_name")
# 获取数据
data = cur.fetchall()
for row in data:
    print(row)
# 关闭游标和连接
cur.close()
conn.close()

以上为Python读取数据的几种常用方法。根据不同的数据类型和数据源,选择不同的方法可以提高处理数据的效率。