6Python的Pandas:数据读取与输出

Pandas是一个强大的Python数据分析库,提供了读取和输出数据的多种功能。以下是一些常见的数据读取与输出方法:

1. 读取CSV

读取数据

  1. 从CSV文件读取数据
import pandas as pd

# 读取CSV文件
df = pd.read_csv('file_path.csv')
print(df.head())
  1. 从Excel文件读取数据
# 读取Excel文件
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1')
print(df.head())
  1. 从SQL数据库读取数据
import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('database.db')

# 读取SQL查询结果
df = pd.read_sql_query("SELECT * FROM table_name", conn)
print(df.head())
  1. 从JSON文件读取数据
# 读取JSON文件
df = pd.read_json('file_path.json')
print(df.head())

输出数据

  1. 将数据写入CSV文件
# 写入CSV文件
df.to_csv('output_file.csv', index=False)
  1. 将数据写入Excel文件
# 写入Excel文件
df.to_excel('output_file.xlsx', index=False, sheet_name='Sheet1')
  1. 将数据写入SQL数据库
# 将DataFrame写入SQLite数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)
  1. 将数据写入JSON文件
# 写入JSON文件
df.to_json('output_file.json', orient='records', lines=True)

示例操作

以下是一个从CSV文件读取数据并将其写入Excel文件的示例:

import pandas as pd

# 读取CSV文件
df = pd.read_csv('input_file.csv')

# 数据处理(例如:查看前五行数据)
print(df.head())

# 写入Excel文件
df.to_excel('output_file.xlsx', index=False)

列数据处理

  1. 选择列
# 选择指定的列
df_selected = df[['column1', 'column2']]
print(df_selected.head())
  1. 新增列
# 新增一列,值为两列相加
df['new_column'] = df['column1'] + df['column2']
print(df.head())
  1. 删除列
# 删除指定的列
df = df.drop(columns=['column1'])
print(df.head())

真假值转换

  1. 将布尔值转换为0和1
# 将布尔值转换为0和1
df['boolean_column'] = df['boolean_column'].astype(int)
print(df.head())
  1. 将0和1转换为布尔值
# 将0和1转换为布尔值
df['int_column'] = df['int_column'].astype(bool)
print(df.head())

跳过指定行

  1. 跳过CSV文件的前几行
# 跳过前两行
df = pd.read_csv('file_path.csv', skiprows=2)
print(df.head())

读取指定行

  1. 读取CSV文件中的特定行
# 读取第5行到第10行(注意,行索引从0开始)
df = pd.read_csv('file_path.csv', skiprows=lambda x: x not in range(5, 11))
print(df)

空值替换

  1. 用指定值替换空值
# 用0替换所有空值
df = df.fillna(0)
print(df.head())
  1. 用列的平均值替换空值
# 用列的平均值替换空值
df['column1'] = df['column1'].fillna(df['column1'].mean())
print(df.head())

示例操作

以下是一个综合示例,展示了如何进行这些操作:

import pandas as pd

# 读取CSV文件,跳过前两行
df = pd.read_csv('file_path.csv', skiprows=2)

# 选择指定的列
df_selected = df[['column1', 'column2']]

# 新增一列,值为两列相加
df['new_column'] = df['column1'] + df['column2']

# 将布尔值转换为0和1
df['boolean_column'] = df['boolean_column'].astype(int)

# 用0替换所有空值
df = df.fillna(0)

print(df.head())

这些操作可以帮助你高效地处理和转换数据,根据具体需求进行调整和组合。

2.读取Excel

Pandas可以方便地读取Excel文件并进行数据处理。以下是一些常见的操作和示例:

读取整个Excel文件

import pandas as pd

# 读取整个Excel文件中的默认工作表
df = pd.read_excel('file_path.xlsx')
print(df.head())

读取指定工作表

# 读取指定的工作表
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1')
print(df.head())

读取多个工作表

# 读取多个工作表,将结果存储在字典中
dfs = pd.read_excel('file_path.xlsx', sheet_name=['Sheet1', 'Sheet2'])

# 打印Sheet1的前几行
print(dfs['Sheet1'].head())

# 打印Sheet2的前几行
print(dfs['Sheet2'].head())

读取所有工作表

# 读取所有工作表,将结果存储在字典中
dfs = pd.read_excel('file_path.xlsx', sheet_name=None)

# 打印每个工作表的前几行
for sheet_name, df in dfs.items():
    print(f"Sheet: {sheet_name}")
    print(df.head())

跳过指定行

# 跳过前两行
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1', skiprows=2)
print(df.head())

读取指定行和列

# 读取第5到10行,指定列
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1', skiprows=4, nrows=6, usecols='A:C')
print(df)

空值处理

# 用指定值替换空值
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1')
df.fillna(0, inplace=True)
print(df.head())

示例操作

以下是一个综合示例,展示了如何读取Excel文件中的指定工作表、跳过行、读取特定行和列,并进行空值处理:

import pandas as pd

# 读取指定的工作表,并跳过前两行
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1', skiprows=2)

# 读取第5到10行,指定列
df = pd.read_excel('file_path.xlsx', sheet_name='Sheet1', skiprows=4, nrows=6, usecols='A:C')

# 用0替换所有空值
df.fillna(0, inplace=True)

print(df)

这些操作可以帮助你灵活地读取和处理Excel文件中的数据,根据需要进行调整和组合。

3.Pandas的输出

Pandas提供了多种将数据输出到不同格式文件的方法,包括CSV、Excel、JSON、SQL等。以下是一些常见的数据输出操作和示例:

输出到CSV文件

import pandas as pd

# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 输出到CSV文件,不包含行索引
df.to_csv('output_file.csv', index=False)

输出到Excel文件

# 输出到Excel文件,不包含行索引
df.to_excel('output_file.xlsx', index=False, sheet_name='Sheet1')

输出到JSON文件

# 输出到JSON文件
df.to_json('output_file.json', orient='records', lines=True)

输出到SQL数据库

import sqlite3

# 连接到SQLite数据库(如果数据库不存在,则会自动创建)
conn = sqlite3.connect('database.db')

# 输出到SQL数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)

设置分隔符、编码和格式

CSV文件设置分隔符和编码
# 输出到CSV文件,设置分隔符为分号,编码为UTF-8
df.to_csv('output_file.csv', sep=';', encoding='utf-8', index=False)
Excel文件格式化输出
# 输出到Excel文件,设置列宽
with pd.ExcelWriter('output_file.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)
    
    # 获取工作表对象
    worksheet = writer.sheets['Sheet1']
    
    # 设置列宽
    worksheet.set_column('A:A', 20)
    worksheet.set_column('B:B', 10)

示例操作

以下是一个综合示例,展示了如何将数据输出到CSV、Excel、JSON和SQL文件:

import pandas as pd
import sqlite3

# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 输出到CSV文件,不包含行索引
df.to_csv('output_file.csv', index=False)

# 输出到Excel文件,不包含行索引,设置列宽
with pd.ExcelWriter('output_file.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)
    worksheet = writer.sheets['Sheet1']
    worksheet.set_column('A:A', 20)
    worksheet.set_column('B:B', 10)

# 输出到JSON文件
df.to_json('output_file.json', orient='records', lines=True)

# 连接到SQLite数据库
conn = sqlite3.connect('database.db')

# 输出到SQL数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)

这些操作可以帮助你将Pandas DataFrame数据输出到多种格式文件,根据具体需求进行调整和组合。

相关推荐

  1. 6PythonPandas数据读取输出

    2024-07-18 16:34:05       23 阅读
  2. python&Pandas二:数据读取写入

    2024-07-18 16:34:05       58 阅读
  3. Python Pandas(数据分析处理)

    2024-07-18 16:34:05       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 16:34:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 16:34:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 16:34:05       58 阅读
  4. Python语言-面向对象

    2024-07-18 16:34:05       69 阅读

热门阅读

  1. linux修改时区为CST

    2024-07-18 16:34:05       18 阅读
  2. 请求通过Spring Cloud Gateway 503

    2024-07-18 16:34:05       19 阅读
  3. 使用小皮面版的Nginx服务搭建本地服务器

    2024-07-18 16:34:05       22 阅读
  4. Jenkins 安装、部署与配置

    2024-07-18 16:34:05       23 阅读
  5. Nginx:502 Bad Gateway 错误的原因及解决方法

    2024-07-18 16:34:05       19 阅读
  6. Web开发-LinuxGit基础5-本地-分支

    2024-07-18 16:34:05       21 阅读
  7. 交易-软件科技股F4(kafka、NET、snow、MongoDB)

    2024-07-18 16:34:05       21 阅读
  8. 关于Hadoop生态系统一部分的Catalog

    2024-07-18 16:34:05       24 阅读
  9. 高内聚,低耦合的解释及实例【包学包会】

    2024-07-18 16:34:05       21 阅读
  10. 网页制作技术:概念、现状与展望?

    2024-07-18 16:34:05       20 阅读
  11. Ubuntu22.04:安装Samba

    2024-07-18 16:34:05       22 阅读
  12. 使用 Vue 和 ECharts 打造动态数据可视化图表

    2024-07-18 16:34:05       25 阅读
  13. 排序思想-快排

    2024-07-18 16:34:05       25 阅读
  14. pytorch学习(一)argparse

    2024-07-18 16:34:05       24 阅读