要将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
'''