gpt4 book ai didi

python - 使用超过 1 列对 Excel 数据进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:44 24 4
gpt4 key购买 nike

我正在尝试使用 2 或 3 列对 Excel 数据进行排序(如果您愿意,可以使用嵌套排序)。目前发生的情况是我得到一个包含日志条目的文本文件(有时超过 1 个),然后我必须将这些条目转换为托管 Excel 电子表格。

我已经成功做到了这一点,但现在我的经理希望我也分别按“日期”和“时间”列对其进行排序。

所以为了分解它,我只是想弄清楚如何做到这一点。

要求:

通过多列对 csv 或 Excel 电子表格进行排序,并将它们写入文档(最好是相同类型)。

代码:

目前我拥有的代码是:

import csv, os
import operator

testcsv= open('test.csv', 'r')
csvSort = csv.reader(testcsv, delimiter=",")
sort = sorted(csvSort,key=operator.itemgetter(0,1))

for eachline in sort:
print eachline

这对于“打印”和检查来说效果很好。但我无法将数据写回到 Excel 电子表格中。

如果我这样做,它会全部进入 1 行而不是多行。当我向文件写入行时,这是我使用的代码:

dest = "C:/Test2.csv"
for eachline in sort:
if not os.path.exists(dest):
fileToCreate = open(dest, 'w')
fileToCreate.writelines(eachline)
else:
fileToCreate = open(dest, 'a+')
fileToCreate.writelines(eachline)
fileToCreate.close()

也许如果有人有更好的选择供我使用或添加一些对我有帮助的东西,我将不胜感激。

测试正在使用的输入数据文件

05/02/2015,20:22:24,201534
07/02/2015,20:23:24,201534
05/02/2015,20:23:24,201534
06/02/2015,20:23:24,201534
05/02/2015,20:24:24,201534
13/02/2015,20:24:24,201534
13/02/2015,20:24:24,201534
12/02/2015,20:21:24,201534
01/02/2015,20:21:24,201534
21/02/2015,20:21:24,201534
21/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
13/02/2015,20:21:24,201534
05/02/2015,20:21:24,201534
05/02/2015,20:21:24,201534
05/02/2015,20:21:24,201534
05/02/2015,20:18:24,201534
05/02/2015,20:18:24,201534
05/02/2015,20:18:24,201534
05/02/2015,20:22:24,201534

最佳答案

您可以重复使用csv.writer来写回整个排序列表。它有一个名为 writerows() 的函数。示例-

dest = "C:/Test2.csv"
with open(dest,'w') as f:
writer = csv.writer(f)
writer.writerows(sort)

请注意,您不需要将分隔符指定为 , ,默认分隔符为逗号。

目前,当您将 writelineseachline 列表一起使用时,它会同时写入列表的每个元素,但不会添加所需的换行符。因此所有数据都显示在一行中。您应该使用 csv.writer 写回 csv/excel 文件。

关于python - 使用超过 1 列对 Excel 数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com