欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Python基础 _Pandas_csv、excel文件操作

Python基础 _Pandas_csv、excel文件操作

2024/10/24 18:21:06 来源:https://blog.csdn.net/2302_76951580/article/details/141862549  浏览:    关键词:Python基础 _Pandas_csv、excel文件操作

1. 读取文件

1.1 读取 CSV 文件 read_csv

Pandas 可以通过 pd.read_csv() 函数读取 CSV 文件。常用参数包括:

  • filepath_or_buffer: 文件路径或 URL。
  • sep: 指定分隔符,默认为逗号(,)。
  • header: 指定行号作为列名,默认是第一行。
  • names: 如果文件中没有列名,可以通过该参数传入列名列表。
  • index_col: 指定哪一列作为索引列。
import pandas as pddf = pd.read_csv('data.csv')
1.2 读取 Excel 文件 read_excel

Pandas 通过 pd.read_excel() 函数来读取 Excel 文件。常用参数包括:

  • io: 文件路径或文件对象。
  • sheet_name: 要读取的工作表名,可以是名称、索引或列表。如果不指定,则读取第一个工作表。
  • header: 指定行号作为列名,默认是第一行。
  • index_col: 指定哪一列作为索引列。
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

2. 写入文件

2.1 写入 CSV 文件 to_csv

使用 df.to_csv() 函数将 DataFrame 写入 CSV 文件。常用参数包括:

  • path_or_buf: 文件路径或对象。
  • sep: 指定分隔符,默认是逗号(,)。
  • index: 是否写入行索引,默认为 True。
  • header: 是否写入列名,默认为 True。
df.to_csv('output.csv', index=False)
2.2 写入 Excel 文件 to_excel

使用 df.to_excel() 函数将 DataFrame 写入 Excel 文件。常用参数包括:

  • excel_writer: 文件路径或 ExcelWriter 对象。
  • sheet_name: 要写入的工作表名,默认为 'Sheet1'
  • index: 是否写入行索引,默认为 True。
  • header: 是否写入列名,默认为 True。
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)

3. 多工作表的操作

Pandas 允许在同一个 Excel 文件中操作多个工作表。

3.1 读取多个工作表

使用 sheet_name 参数指定要读取的多个工作表。

sheets_dict = pd.read_excel('data.xlsx', sheet_name=['Sheet1', 'Sheet2'])
3.2 写入多个工作表

使用 pd.ExcelWriter() 可以在同一个文件中写入多个工作表。

with pd.ExcelWriter('output.xlsx') as writer:df1.to_excel(writer, sheet_name='Sheet1')df2.to_excel(writer, sheet_name='Sheet2')

4. 数据清洗与处理

4.1 处理缺失值 dropna fillna isna

Pandas 提供了多种方法来处理缺失值。

  • df.dropna(): 删除包含缺失值的行或列。
  • df.fillna(): 用指定值填充缺失值。
  • df.isna(): 检测缺失值,返回布尔值 DataFrame。
df.dropna()  # 删除包含缺失值的行
df.fillna(0)  # 用0填充缺失值
4.2 数据筛选与选择

Pandas 允许根据条件对数据进行筛选。

filtered_df = df[df['column_name'] > 10]  # 筛选某列大于10的行

5. 数据透视表与分组操作

5.1 数据透视表

使用 pd.pivot_table() 可以生成数据透视表。

pivot_table = pd.pivot_table(df, values='column_name', index='index_column', columns='column_name', aggfunc='mean')
5.2 分组操作 groupby

使用 df.groupby() 进行数据分组,并应用聚合函数。

grouped = df.groupby('column_name').sum()  # 按列分组并求和

6. 文件处理的最佳实践

  • 文件路径处理:使用 os.path.join() 以处理跨平台文件路径。
  • 异常处理:使用 try-except 捕获文件操作可能产生的错误。
  • 使用 with 语句:处理文件时,建议使用 with 语句确保文件自动关闭。
import osfile_path = os.path.join('data', 'input.csv')
try:df = pd.read_csv(file_path)
except FileNotFoundError:print("File not found.")

7. 性能优化

  • 读取大文件时指定数据类型:通过 dtype 参数来减少内存使用。
  • 使用 chunksize 分批读取:对于超大文件,可以分块读取以节省内存。
df = pd.read_csv('large_file.csv', dtype={'column_name': 'float64'}, chunksize=10000)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com