对XLSX数据进行排序并写入CSV

时间:2015-06-01 15:28:34

标签: python excel sorting csv xlsx

我正在尝试获取大型数据文件并对其进行排序。最后我想要这样的事情:

Customer,                               Machine Error,        User Error  
Customer 1 with most calls,                #of calls,            #of calls
Customer 2 with next amount calls,         #of calls,            #of calls

我排名前20位来电者并获得有关他们来电的信息。 (机器错误调用的数量与用户错误调用的数量)

我已经能够使用我在此博客https://blogs.law.harvard.edu/rprasad/2014/06/16/reading-excel-with-python-xlrd/上找到的代码对其进行排序,该代码以这种方式显示数据

print ('-'*20 + '', 'Top Twenty Values', '' + '-'*20 )
print ('Value [count]')
for val, cnt in counts.most_common(20):

    print ('%s [%s]' % (val, cnt))

但是,整体代码很长,我很难理解它,无法将数据拉入csv格式。

我的问题是如何对数据进行排序并将其写入csv?我找到了写入csv的方法,但很难找到有关排序顶级数据值然后制作新csv的任何内容。

谢谢!

1 个答案:

答案 0 :(得分:0)

我解决了。在排序代码中,我添加了

print ('-'*20 + '', 'Top Twenty Values', '' + '-'*20 )
print ('Value [count]') 
for val, cnt in counts.most_common(20): 
    print ('%s [%s]' % (val, cnt)) 
with open('test.csv', 'a') as f: 
    writer = csv.writer(f, delimiter=',', lineterminator='\n')
    writer.writerow([val])