如何将Pandas数据帧导出到CSV(+示例)

167 阅读2分钟

要将Pandas DataFrame导出/转换为CSV文件,请使用Pandas方法to_csv() 。如果你不希望第一列是CSV中的索引号,设置index=False 参数,通常情况下是这样的。

让我们深入了解一个简单的两步例子,如何轻松无压力地将一个DataFrame转换为CSV。🧘‍♀️

第1步:创建DataFrame

你可以使用各种方法来创建Pandas DataFrame,比如将一个字典传入pd.DataFrame() 函数。

import pandas as pd


# Create the DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Carl', 'Dave'],
                   'Age': [23, 24, 19, 33],
                   'Income': [99000, 88000, 21000, 129000]})

# Print the DataFrame
print(df)
'''
    Name  Age  Income
0  Alice   23   99000
1    Bob   24   88000
2   Carl   19   21000
3   Dave   33  129000
'''

第2步:导出数据框架到CSV文件

Pandasto_csv() 函数允许你直接将DataFrame导出到CSV文件中,并且没有任何额外的开销。如果你不希望第一列是CSV中的索引号,你可以设置index=False 参数,通常是这样的。

下面是应用于我们例子的函数。

df.to_csv('my_file.csv', index=False)

结果CSV文件看起来是这样的,好在没有我说的这个没有索引。

如果你忘记了index=False 这个参数,Pandas就会用一个行的索引进行转换,所以文件就会像这样。

df.to_csv('my_file.csv') # index=True per default

如何将DataFrame转换为CSV字符串?

如果你想把DataFrame转换为CSV字符串,而不是CSV文件,只需使用pd.to_csv() 函数,不需要任何文件名或路径参数。在这种情况下,会返回一个CSV字符串,你可以在你的Python脚本中进一步处理。

这里有一个例子。

# Convert DataFrame to CSV
csv_string = df.to_csv()

# Print the CSV string
print(csv_string)
'''
,Name,Age,Income
0,Alice,23,99000
1,Bob,24,88000
2,Carl,19,21000
3,Dave,33,129000
'''

你可以通过传递index=False 参数来修改这个输出。

# Convert DataFrame to CSV (no index)
csv_string = df.to_csv(index=False)

# Print the CSV string
print(csv_string)
'''
Name,Age,Income
Alice,23,99000
Bob,24,88000
Carl,19,21000
Dave,33,129000
'''