📌  相关文章
📜  将 Pandas 数据框导出到 CSV 文件

📅  最后修改于: 2022-05-13 01:55:34.720000             🧑  作者: Mango

将 Pandas 数据框导出到 CSV 文件

假设您正在从事数据科学项目,并且您处理最重要的任务之一,即数据清理。数据清理后,您不想丢失已清理的数据框,因此您希望将已清理的数据框保存为 CSV。让我们看看如何将 Pandas DataFrame 导出为 CSV 文件。
Pandas 通过其内置的to_csv()函数使我们能够做到这一点。
首先,让我们创建一个示例数据框

Python3
# importing the module
import pandas as pd
 
# making the data
scores = {'Name': ['a', 'b', 'c', 'd'],
          'Score': [90, 80, 95, 20]}
 
# creating the DataFrame
df = pd.DataFrame(scores)
 
# displaying the DataFrame
print(df)


Python3
# converting to CSV file
df.to_csv("your_name.csv")


Python3
# converting to CSV file
df.to_csv("your_name.csv", encoding = 'utf-8')


Python3
# converting to CSV file
df.to_csv('your_name.csv', index = False)


Python3
# converting to CSV file
df.to_csv("your_name.csv", columns = ['Name'])


Python3
# converting to CSV file
df.to_csv('your_name.csv', header = False)


Python3
# converting to CSV file
df.to_csv("your_name.csv", na_rep = 'nothing')


Python3
# converting to CSV file
# separated with tabs
df.to_csv("your_name.csv", sep ='\t')


输出 :

现在让我们将此 DataFrame 导出为名为 your_name.csv 的 CSV 文件:

Python3

# converting to CSV file
df.to_csv("your_name.csv")

输出

文件已成功保存

如果你得到一个 UnicodeEncodeError,只需传递带有 'utf-8' 值的编码参数。

Python3

# converting to CSV file
df.to_csv("your_name.csv", encoding = 'utf-8')

可能的定制

1.包括索引号
您可以选择是否要添加自动索引。默认值是true。将其设置为 False。

Python3

# converting to CSV file
df.to_csv('your_name.csv', index = False)

输出 :

2.仅导出选定的列
如果您只想导出几个选定的列,您可以将其传递到 to_csv() 作为 'columns = [“col1”, “col2”]

Python3

# converting to CSV file
df.to_csv("your_name.csv", columns = ['Name'])

输出 :

3.导出表头
您可以通过将 header 参数设置为 True 或 False 来选择是否要导出列名。默认值是true。

Python3

# converting to CSV file
df.to_csv('your_name.csv', header = False) 

输出 :

4.处理NaN
如果您的数据框有 NaN 值,您可以选择它来替换为其他字符串。默认值为“。

Python3

# converting to CSV file
df.to_csv("your_name.csv", na_rep = 'nothing')

5.与别的东西分开
如果不是用“逗号”分隔值,我们可以使用自定义值来分隔它。

Python3

# converting to CSV file
# separated with tabs
df.to_csv("your_name.csv", sep ='\t')

输出 :