Python:如何将int32写入csv文件?

Python:如何将int32写入csv文件?,python,csv,numpy,export-to-csv,Python,Csv,Numpy,Export To Csv,我正在尝试使用csv.writer对象将numpy数组写入csv文件。但是写完之后,我得到了numpy数组的字符串表示 with open('res.csv', 'w') as csvfile: csv_writer = csv.writer(csvfile, delimiter=',', lineterminator='\n') csv_writer.writerow(['Id', 'Solution']) csv_writer.writerows(y_pred

我正在尝试使用
csv.writer
对象将numpy数组写入csv文件。但是写完之后,我得到了numpy数组的字符串表示

with open('res.csv', 'w') as csvfile:
   csv_writer = csv.writer(csvfile, delimiter=',', lineterminator='\n')
   csv_writer.writerow(['Id', 'Solution'])       
   csv_writer.writerows(y_pred)
res.csv
的一些输出行是:

Id,Solution
1,0
2,1
3,1
4,0
...
但它们存储为字符串

实际上,我正在尝试通过学习python,但在我提交了
res.csv
文件后,领导委员会说我的条目是
string
格式,必须是
int32
格式

如何修复它?

试试以下方法:

numpy.savetxt('res.csv', y_pred, fmt='%d', delimiter=',', newline='\n', header='Id, Solution', footer='', comments='# ')
这将产生:

$ cat res.csv
# Id, Solution
1,0
2,1
3,1
4,0
您可以使用
fmt
关键字设置的格式字符串更改格式。看见您也可以更改注释符号。

您可以执行以下操作:

np.savetxt('test.txt', a, fmt='%d', delimiter=',',
           header='Id,Solution', comments='')

如果必须指定
comments=''
,以避免在页眉(和页脚)字符串()的开头添加默认注释“
#
”。

CSV文件确实是字符串,也许不应该包含页眉?尝试删除
csv\u writer.writerow(['Id','Solution'])
行。是的,没有标题也可以!但头球必须在那里。如果我删除了头代码,我必须手动将其添加到res.csv文件中!你能试着用它来代替吗?我试过了,但我在它的条目上的Id前面有一个标志?!我试过了(但使用fmt='%d'),但在它的条目中Id前面有一个#符号?!设置
comment=''
但您可能想注释掉标题?如果kaggel正在使用,那么如果它被注释掉,它将跳过标题,然后它将自动加载数字作为
int32
,否则,您需要提供
skiprows
关键字。