python - 使用 Python 对工作表中的列进行排序

标签 python xlsxwriter worksheet

在下面的程序中,我创建了一个工作簿,其中包含一个名为 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 工作表中得到的输出是:

enter image description here

需要的输出:

(同一行数字对应的单词也要排序)

enter image description here

最佳答案

我建议将原始 csv 作为数据框加载,然后按特定列对其进行排序。我在下面提供了一个完全可重现的示例来说明这一点。

我制作了自己的 sort.csv 版本用于演示目的,然后使用 pandas.read_csv 将其作为数据帧读入,然后使用 pandas.DataFrame.sort_values 进行排序>.

import pandas as pd

sort = open('sort.csv', 'w+')
sort.write('May, 5227\n')
sort.write('June, 417\n')
sort.write('Jan, 4\n')
sort.write('Feb, 424\n')
sort.write('Dec, 36\n')
sort.write('Mar, 4981\n')
sort.write('Apr, 3460\n')
sort.close()

df = pd.read_csv('sort.csv', names = ['words', 'Numbers'])

df = df.sort_values(['Numbers'], ascending=[False])

writer = pd.ExcelWriter('wordsandnumbers.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False, startrow=2)
writer.save()

输出的sort.csv:

Outputted sort.csv

输出的wordsandnumbers.xlsx:

Outputted wordsandnumbers.xlsx

关于python - 使用 Python 对工作表中的列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50698609/

相关文章:

python - zip(跳过一个列表中的元素,但不跳过其他列表中的元素)

python - 通过字符串变量 reshape 数据框

python - 将多个 pandas 数据框写入多个 excel 工作表

SCALA - 在工作表中导入特征

python - Keras 中卷积层的稀疏训练

python - 如何在 django 中完成工作后删除模板中的 session 变量

python - Xlsxwriter 对同一列中不同单元格的不同格式

python - xlsxwriter - 更改评论中的字体

vba - 如何通过另一个工作簿中的 VBA 对象名称引用 Excel 工作表?

javascript - 如何使用 Excel javascript API 设置工作表的自定义设置?