我正在尝试对用python生成的csv文件进行重新排序,但无法使其正常工作,
数据为:
metrics test1 test2 test3 test4 ...
aa-key1
aa-key3
bb-key4
cc--key2
dd--key5
...
键没有按字母或数字排序。它只需要作为预定义的顺序[key1,key2,key3,key4,key5]。我添加了aa,cc,bb dd来说明我总是得到的顺序。有什么方法可以按第一列对表格进行重新排序,而CSV则要
metrics test1 test2 test3 test4 ...
aa-key1
cc--key2
aa-key3
bb-key4
dd--key5
...
我通过在创建后附加各列来用熊猫生成了csv。尽管我将字典定义为orderedDict,但是顺序似乎并没有受到影响。
def create_csv(infile,result):
dict = parse_log_to_dict(infile)
with open(result,'w') as f:
writer = csv.writer(f)
writer.writerow(['metrics',get_file_name_only(infile)])
for row in dict.items():
writer.writerow(row)
我尝试过:
PREPERED_INDEX = [key1,key2,key3,key4,key5]
reporter_df = pd.read_csv(result,index_col=0)
reporter_df[0] = pd.Categorical(reporter_df[0],PREPERED_INDEX)
reporter_df.sort_values('metrics')
reporter_df.to_csv(result)
但是在度量标准上出现了keyError,这是我打算在表格中显示的标题行。
谢谢!