在下面的程序中,我创建了一个包含名为sort的工作表的工作簿 我把单词放在一列,数字放在另一列 现在我成功地输出了.xlsxv文件 但我需要数字应该从降序到升序排序。 我不知道如何放置代码。在
Code
=====
import csv
import xlsxwriter
import re
workbook = xlsxwriter.Workbook('wordsandnumbers.xlsx')
worksheet = workbook.add_worksheet('sort')
with open('sort.csv') as f:
reader = csv.reader(f)
alist = list(reader)
worksheet.write(2,0,'words')
worksheet.write(2,1,'Numbers')
newlist = []
for values in alist:
convstr = str(values)
convstr = convstr.split(",")
newlist.extend(convstr)
a=3
for i in range(3,10):
newlist[a] = re.sub('[^a-zA-Z]','',newlist[a])
worksheet.write(i,0,newlist[a].strip('['))
a=a+1
newlist[a] = re.sub('[^0-9]','',newlist[a])
int(newlist[a])
worksheet.write(i,1,newlist[a])
a=a+1
workbook.close()
我在.xlsx表中得到的输出是:
所需输出:
(同一行数字对应的单词也应排序)
一旦将数据放入数组,就可以直接对其进行排序并保持顺序。您可以只使用内置的sort,但给它一个键,该键是您希望列表排序所依据的值。见this。在
我建议将原始csv作为数据帧加载,然后按特定列对其进行排序。我在下面提供了一个完全可复制的例子来说明这一点。在
我做我自己的版本排序.csv出于演示目的,然后使用
pandas.read_csv
将其作为数据帧读入,然后使用pandas.DataFrame.sort_values
进行排序。在输出排序.csv公司名称:
输出字数和数字.xlsx公司名称:
相关问题 更多 >
编程相关推荐