怎样使用Pandas将数据写入CSV文件?

在 Pandas 中,可使用 DataFrame 对象的 to_csv() 方法将数据写入 CSV 文件。以下从不同场景出发,详细介绍该方法的使用:

1. 基本写入操作

将 DataFrame 中的数据以默认设置写入 CSV 文件,to_csv() 方法默认使用逗号作为分隔符,并且会保存行索引。
import pandas as pd

# 创建示例 DataFrame
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 35],
    '城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)

# 指定要保存的文件路径
file_path = 'basic_write.csv'
# 执行写入操作
df.to_csv(file_path)

上述代码会在当前工作目录下创建一个名为 basic_write.csv 的文件,文件内容包含行索引和 DataFrame 中的数据。

2. 不保存行索引

若不需要保存 DataFrame 的行索引,可以设置 index 参数为 False
file_path = 'no_index.csv'
df.to_csv(file_path, index=False)

运行这段代码后生成的 no_index.csv 文件中,不会包含行索引信息。

3. 指定分隔符

默认情况下,to_csv() 方法使用逗号作为分隔符,但你可以通过 sep 参数指定其他分隔符,如制表符(\t)、分号(;)等。
file_path = 'semicolon_separated.csv'
df.to_csv(file_path, sep=';', index=False)

此代码会生成一个使用分号作为分隔符的 CSV 文件 semicolon_separated.csv

4. 处理缺失值

当 DataFrame 中存在缺失值(NaN)时,可以使用 na_rep 参数指定缺失值在 CSV 文件中的表示方式。
import numpy as np

# 创建包含缺失值的 DataFrame
data_with_nan = {
    '姓名': ['张三', np.nan, '王五'],
    '年龄': [25, 30, np.nan],
    '城市': ['北京', '上海', '广州']
}
df_with_nan = pd.DataFrame(data_with_nan)

file_path = 'nan_representation.csv'
df_with_nan.to_csv(file_path, na_rep='nan', index=False)

上述代码会将 DataFrame 中的缺失值用 nan 表示并写入 nan_representation.csv 文件。

5. 指定文件编码

如果需要处理非 UTF - 8 编码的文件,可以使用 encoding 参数指定编码方式。

file_path = 'encoded_file.csv'
df.to_csv(file_path, encoding='GBK', index=False)

这里生成的 encoded_file.csv 文件会采用 GBK 编码。

6. 写入文件时不包含表头

若不需要将 DataFrame 的列名(表头)写入文件,可以设置 header 参数为 False

file_path = 'no_header.csv'
df.to_csv(file_path, header=False, index=False)

这样生成的 no_header.csv 文件中就不会包含表头信息。

posted on 2025-03-18 10:41  数据库那些事儿  阅读(484)  评论(0)    收藏  举报