Python 如何使用np.savetxt(带格式化程序)并发生错误?
这是我的代码,它将作为数据帧输出提供给您。我需要在指定的格式化程序中写入value列的所有数据,以便使用savtxt方法中的格式化程序功能将其转换为固定长度的输出。请帮助我解决这个问题Python 如何使用np.savetxt(带格式化程序)并发生错误?,python,pandas,numpy,Python,Pandas,Numpy,这是我的代码,它将作为数据帧输出提供给您。我需要在指定的格式化程序中写入value列的所有数据,以便使用savtxt方法中的格式化程序功能将其转换为固定长度的输出。请帮助我解决这个问题 import json import pandas as pd import numpy as np class Decoder(json.JSONDecoder): def decode(self, s): result = super(Decoder, self).decode(s)
import json
import pandas as pd
import numpy as np
class Decoder(json.JSONDecoder):
def decode(self, s):
result = super(Decoder, self).decode(s)
return self._decode(result)
def _decode(self, o):
if isinstance(o, str):
try:
return int(o)
except ValueError:
try:
return float(o)
except ValueError:
return o
elif isinstance(o, dict):
return {k: self._decode(v) for k, v in o.items()}
elif isinstance(o, list):
return [self._decode(v) for v in o]
else:
return o
with open('ouput_data.json') as f:
data=json.load(f,cls=Decoder)
#print(data)
list=[]
list=(data['data'])
df = pd.DataFrame(list,columns=['id','value'])
new_df = df.set_index('id')
new_df1=new_df.reindex(np.arange(1, 14)).fillna(' ')
print(new_df1)
new_df1.shape
#print(new_df1)
# In[67]:
# Specifying a formatter to convert to fixed length output
fmt = '%2s%2s%4s%1s%10s%8s%5s%1s%3s%30s%18s%2s%30s'
# In[68]:
# Remove NaNs
#in_df.fillna(' ',inplace = True)
# In[69]:
#print(in_df)
# Writing Output
filename=((data['data'])[0]['value']+".txt")
np.savetxt(filename,new_df1.values,fmt=fmt, delimiter='')
print("Done")
获取错误消息,如
Traceback (most recent call last):
File "\\10.212.30.30\Share Folder\sriram\ile_3072\DataFrame_3072.py", line 61, in <module>
np.savetxt(filename,new_df1.values,fmt=fmt, delimiter='')
File "C:\Program Files (x86)\Python36-32\lib\site-packages\numpy\lib\npyio.py", line 1352, in savetxt
raise error
ValueError: fmt has wrong number of % formats: %2s%2s%4s%1s%10s%8s%5s%1s%3s%30s%18s%2s%30s
fmt
中的%格式的数量必须与正在保存的数组中的列数匹配。有人帮我解决这个问题吗!!!!告诉我们一些关于new\u df1.values
,您正试图编写的数组的信息。我不明白!!!请你详细说明一下。告诉我我必须在代码中编辑什么见问题现在我添加了新的_df1数据帧输出将如下所示
id value
1 whats up
2 what
3
4
5 HI
6
7
8
9
10
11
12
13