【发布时间】:2016-05-12 17:36:39
【问题描述】:
我对 python 编码非常陌生,所以任何建议都会有所帮助!我必须创建一个函数,它将所有 csv 文件放在一个目录中,并按它们各自的列进行排序。每个 csv 文件必须按第一列(日期)、第二列(时间)和第三列(活动)排序。
我的代码对数据进行排序,但它将所有文件合并在一起。如何将文件彼此分开?
import glob
data=[]
path="/Users/sara/Desktop/*.csv"
files=glob.glob(path)
for file in files:
f=open(file, "r")
for line in f:
data.append(line)
data=sorted(data, key=lambda x:(x[0],x[1],x[2]))
print(sorted(data))
【问题讨论】:
-
请将您的代码以文本形式发布,否则我无法被搜索引擎阅读并被其他用户复制
-
您将每个文件的每一行附加到同一个列表中,所以我希望它对所有文件的所有行进行排序,但是您希望它有什么不同?
-
我希望这些文件分别保留在它们自己的内部。所以我想将每个文件的每一行附加到他们自己的列表中。因此,如果我在目录中有三个文件,我最终会得到三个排序列表
-
@classact,我建议你使用字典来存储这三个列表。详细说明请参考我的回答。