Python中怎么从不同格式文件加载数据

发布时间:2021-07-10 14:18:57 作者:Leah
来源:亿速云 阅读:221
# Python中怎么从不同格式文件加载数据

在数据分析和机器学习项目中,我们经常需要从各种格式的文件中加载数据。Python凭借其丰富的第三方库,能够轻松处理多种文件格式。本文将介绍如何使用Python从CSV、JSON、Excel、SQL数据库等常见格式文件中加载数据。

## 一、从CSV文件加载数据

CSV(Comma-Separated Values)是最常见的数据存储格式之一,Python中主要通过`pandas`和标准库`csv`模块处理。

### 1. 使用pandas读取CSV

```python
import pandas as pd

# 基本读取
data = pd.read_csv('data.csv')

# 处理特殊字符分隔符
data = pd.read_csv('data.csv', sep=';')

# 跳过指定行数
data = pd.read_csv('data.csv', skiprows=2)

# 指定列名
data = pd.read_csv('data.csv', names=['col1', 'col2', 'col3'])

2. 使用csv模块

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

二、从JSON文件加载数据

JSON(JavaScript Object Notation)是Web应用中常用的轻量级数据交换格式。

1. 使用json模块

import json

with open('data.json', 'r') as f:
    data = json.load(f)

2. 使用pandas读取JSON

data = pd.read_json('data.json')

# 处理嵌套JSON
data = pd.json_normalize(data, 'nested_field')

三、从Excel文件加载数据

Excel文件(.xlsx, .xls)是商业环境中常见的数据存储格式。

1. 使用pandas读取Excel

# 读取单个sheet
data = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 读取所有sheet
all_sheets = pd.read_excel('data.xlsx', sheet_name=None)

2. 使用openpyxl库

from openpyxl import load_workbook

wb = load_workbook('data.xlsx')
sheet = wb['Sheet1']

for row in sheet.iter_rows(values_only=True):
    print(row)

四、从SQL数据库加载数据

Python可以通过多种库连接SQL数据库,如sqlite3pymysqlpsycopg2等。

1. 使用sqlite3

import sqlite3

conn = sqlite3.connect('database.db')
cursor = conn.cursor()

cursor.execute("SELECT * FROM table_name")
data = cursor.fetchall()

2. 使用pandas读取SQL

import sqlalchemy

engine = sqlalchemy.create_engine('sqlite:///database.db')
data = pd.read_sql('SELECT * FROM table_name', engine)

五、其他格式文件

1. 从HDF5文件加载

data = pd.read_hdf('data.h5', key='dataset')

2. 从Pickle文件加载

data = pd.read_pickle('data.pkl')

3. 从Parquet文件加载

data = pd.read_parquet('data.parquet')

六、最佳实践与注意事项

  1. 内存管理:处理大文件时考虑分块读取

    chunk_iter = pd.read_csv('large.csv', chunksize=10000)
    
  2. 编码问题:指定正确的文件编码

    data = pd.read_csv('data.csv', encoding='utf-8')
    
  3. 数据类型推断:避免自动类型转换错误

    data = pd.read_csv('data.csv', dtype={'column1': str})
    
  4. 错误处理:捕获并处理可能的异常

    try:
       data = pd.read_csv('data.csv')
    except FileNotFoundError:
       print("文件未找到")
    

七、总结

Python生态系统提供了丰富的工具来处理各种文件格式:

文件格式 推荐库 典型方法
CSV pandas read_csv()
JSON json/pandas json.load()/read_json()
Excel pandas/openpyxl read_excel()
SQL sqlalchemy/pymysql read_sql()
HDF5 pandas read_hdf()

选择合适的方法取决于数据大小、性能需求和使用场景。掌握这些数据加载技术将大大提高您处理各种数据源的效率。 “`

推荐阅读:
  1. Python经典鸡兔同笼问题
  2. 域的同林迁移

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:怎么批量修改200台以上web服务器密码

下一篇:kubernetes如何提升资源利用率

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》