使用python基于其他列重新排序(排序)CSV中的行

时间:2017-09-06 23:44:43

标签: python pandas csv sorting

我正在尝试重新排序csv中我想拥有的行" All"作为最后一行,在csv中。我尝试过使用sort_index和sort_Values但是我无法达到我想要的效果。这是我的代码:

import pandas as pd
import csv

df1=pd.read_csv("C:\\testfolder\\testdemofinal1.csv",sep=',',na_filter=False)

df=pd.DataFrame(df1)

a=df.pivot_table(index=['Parameter1_Calculation','Parameter2_Calculation'],columns='Measure Names', values='Measure Values',aggfunc='first',dropna=True,margins_name='All')
#a=a.sort_values(by='Total Earn',ascending=0)

这会对行进行排序,但不会给我正确的结果。

#a=a.sort_index(by=['Parameter1_Calculation','Parameter2_Calculation'],ascending=[True,False])

这给了我错误。

b=a.to_csv("C:\\newfile1.csv",sep=',')

我附上了以下示例csv:

enter image description here 提前致谢

我在下面有一个文本数据示例:

Parameter1   Parameter2 CPS  CallE  Calls ClickEarn      Clicks  
ABC - Health 8/23/2017  0.78    0    0    31.5          15  
Ad Network   8/23/2017  0.01    0    0     1.3           1  
All             All     0.27    0    0    17,502,274    3,493,532
Quotes       8/23/2017  0       0    0      0            0  

1 个答案:

答案 0 :(得分:0)

快速但愚蠢的方法是删除该行并稍后追加。

`def downloadfile(request):
    if request.POST:
        fileviewing = get_object_or_404(FileViewing, pk=request.POST.get("id"))
        file_name = fileviewing.file.file.name
        file_path = fileviewing.file.file.path
        file_wrapper = FileWrapper(file(file_path,'rb'))
        file_mimetype = mimetypes.guess_type(file_path)
        response = HttpResponse(file_wrapper, content_type=file_mimetype)
        response['X-Sendfile'] = file_path
        response['Content-Length'] = os.stat(file_path).st_size
        response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
        return response`

但如果您有多行

,这可能会产生意外结果