实践疑惑 | 使用pandas库读取文件,与直接使用read函数读取文件相比,有何不同?

使用

(一)pandas

import pandas as pd

# xlsx和xls
data = pd.read_excel(r'file_path')

# csv
data = pd.read_csv(r'file_path')

(二)read函数

# 使用'open'函数打开文件  
file = open('filename.txt', 'r')  # 'r'表示读取模式 

# 使用'read'函数读取文件内容  
content = file.read()  

避免将文件路径中的/识别为转义字符

(一)使用原始字符串(Raw Strings)

# 使用r前缀是为了确保文件路径中的每个反斜杠\都被当作普通字符,而不是转义字符的开始
# 在Python字符串前加上r或R前缀表示该字符串是一个“原始字符串”(raw string)
file_path = r'C:\path\to\your\file.txt'  

# 直接将file_path作为参数传入相应的读取函数

(二)使用双反斜杠

# 原先:'C:\path\to\your\file.tx
file_path = 'C:\\path\\to\\your\\file.txt' 

# 直接将file_path作为参数传入文件读取函数 

区别

(一)数据结构化

  • pandas:当使用pandas的read_excel、read_csv等函数读取文件时,你得到的是一个结构化的DataFrame对象。DataFrame是一个二维的、大小可变的、具有潜在异构类型列的表格数据结构。它非常适合于存储和处理表格数据,并提供了丰富的API来进行数据清洗、转换、分析和可视化。
  • 标准读取函数:使用Python的open()、read()函数读取文件时,你得到的是一个原始的字符串,其中包含了文件的全部内容。你需要自己处理这个字符串来解析数据,并将其结构化为你想要的形式(例如,转换为列表、字典或自定义的对象)。

(二)性能与内存管理

  • pandas:针对性能进行了优化,尤其是在处理大型数据集时。它内部使用了高效的数据存储和算法,可以更快地加载和处理数据。然而,对于非常大的数据集,pandas可能会消耗大量内存。
  • 标准读取函数:标准读取函数在处理小型文件时通常足够快,但对于大型文件或需要复杂解析的文件,性能可能会成为问题。此外,由于你需要自己管理数据结构,因此在内存使用方面也可能不如pandas高效。

(三)易用性和功能

  • pandas:pandas提供了大量高级功能,如数据筛选、分组、排序、合并、连接、统计等,这些功能都很容易通过简洁的API调用实现。此外,pandas还集成了与许多其他库(如NumPy、Matplotlib、SciPy等)的互操作性
  • 标准读取函数:使用标准读取函数时,你需要自己实现所有这些功能,这通常意味着编写更多的代码和进行更多的调试。然而,这也给了你更大的灵活性来控制数据的处理方式。

(四)文件格式支持

  • pandas:pandas支持多种文件格式,包括CSV、Excel、SQL、HDF5、JSON等。这使得pandas成为处理多种不同来源数据的理想选择。
  • 标准读取函数:标准读取函数主要支持文本文件(如CSV),但对于更复杂的文件格式(如Excel或JSON),你可能需要使用额外的库或编写更多的自定义代码来解析数据。
上一篇:2024蓝桥杯每日一题(BFS)


下一篇:【论文阅读】Improved Denoising Diffusion Probabilistic Models