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
关键字。