【发布时间】:2020-02-17 16:35:39
【问题描述】:
我有一个 pandas 数据框,它最初是 int 类型的列。我将类型更改为字符串,然后使用to_csv 保存它。但是在我保存的 csv 中,我没有以'1', '2',.. 的形式获取数据,而是像1,2,.. 一样。
这就是我正在做的:
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.random.randint(0,5,size=(3, 4)), columns=list('ABCD'))
>>> df
A B C D
0 2 3 0 4
1 4 0 3 4
2 4 4 4 3
>>> print(df.dtypes)
A int64
B int64
C int64
D int64
dtype: object
>>> df = df.astype(str)
>>> df
A B C D
0 2 3 0 4
1 4 0 3 4
2 4 4 4 3
>>> print(df.dtypes)
A object
B object
C object
D object
dtype: object
>>> df.to_csv('./df.csv', index = False)
当我检查保存的文件时,我得到以下信息
➜ head -2 df.csv
A,B,C,D
2,3,0,4
我希望它是这样的:
➜ head -2 df.csv
A,B,C,D
"2","3","0","4"
【问题讨论】:
-
您只需添加引用参数:df.to_csv('./df.csv', index=False, quoting=1)
-
你不想在标题周围加上引号?