首页 > 后端开发 > Python教程 > 如何用Python高效读写CSV文件?

如何用Python高效读写CSV文件?

Mary-Kate Olsen
发布: 2024-12-24 19:00:12
原创
252 人浏览过

How to Efficiently Read and Write CSV Files in Python?

如何在 Python 中处理 CSV 文件操作?

CSV(逗号分隔值)文件是在文本文件中存储表格数据的常用方法。 Python 有一个标准库,支持读取和写入 CSV 文件。

读取 CSV 文件

要将 CSV 文件读入元组列表,可以使用 csv 模块,如下所示:

import csv

with open('myfile.csv', 'r') as f:
    reader = csv.reader(f)
    data = [row for row in reader]
登录后复制

写入 CSV 文件

将元组列表写入CSV 文件,您可以按如下方式使用 csv 模块:

import csv

with open('myfile.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(data)
登录后复制

示例:读取和写入 CSV 文件

以下示例展示了如何读取和写入 CSV 文件:

import csv

# Define the CSV data
data = [
    (1, 'A towel', 1.0),
    (42, 'it says', 2.0),
    (1337, 'is about the most', -1),
    (0, 'massively useful thing', 123),
    (-2, 'an interstellar hitchhiker can have.', 3)
]

# Write the data to a CSV file
with open('myfile.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(data)

# Read the data from the CSV file
with open('myfile.csv', 'r') as f:
    reader = csv.reader(f)
    data_read = [row for row in reader]

# Print the data
print(data_read)
登录后复制

使用 Pandas 进行 CSV 处理

Pandas 是一种流行的用于数据分析的 Python 库提供了一种处理 CSV 文件的便捷方法。您可以使用 Pandas 将 CSV 文件读入 DataFrame,然后可以对其进行操作并将其另存为 CSV 文件。

import pandas as pd

# Read the CSV file into a DataFrame
df = pd.read_csv('myfile.csv', index_col=0)

# Make some changes to the DataFrame
df['Amount'] *= 2

# Write the DataFrame to a new CSV file
df.to_csv('new_myfile.csv')
登录后复制

常见 CSV 文件结尾

最常见的文件结尾为CSV 文件是 .csv。其他不太常见的结尾包括 .txt 和 .dat。

使用 CSV 数据

将 CSV 文件读入元组列表、字典列表或 Pandas DataFrame 后,您可以使用标准 Python 方法处理数据。例如,您可以循环数据、访问单个值或对数据执行计算。

CSV 的替代品

除了 CSV 之外,您还可以使用其他数据格式在Python中。一些常见的替代方案包括:

  • JSON:一种流行的格式,用于以人类可读的格式存储数据。
  • YAML:一种与 JSON 类似但更详细和人性化的格式-可读。
  • Pickle:一种 Python 特定格式,可以序列化任何 Python 对象。
  • MessagePack:A比 JSON 或 YAML 更紧凑的二进制格式。

以上是如何用Python高效读写CSV文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板