【问题标题】:How could I sort a csv file in multiple ways in one go?如何一次以多种方式对 csv 文件进行排序?
【发布时间】:2021-03-16 02:55:02
【问题描述】:

我应该编写一个程序,在其中获取任何 csv 文件,并以四种不同的方式对它们进行排序,按字母顺序,按项目 ID,从旧到新,或从最贵到最便宜。我想出了如何打开任何 csv 文件,现在我的问题是如何开始对其进行排序。

到目前为止,我有这个:

import csv 
input = input('')
with open(input, 'r') as csvfile:
     csv_reader = csv.reader(csvfile)
     for row in csv_reader:
         print(row)

然后我使用了 while True 语句之后创建了一个选项菜单,以允许用户选择他们希望如何对所有内容进行排序,因为这是我掌握如何编写此内容的唯一方法。现在我被困住了,我只是 python 的新手。我只允许使用 list.sort 函数以使其全部正常工作。如果有人有任何提示,我将不胜感激。

【问题讨论】:

  • input = input('') 怎么了?
  • 您可以使用任何库吗? Pandas 似乎在这里很有用。
  • 啊,那是个错误,我更改了它,以便它可以提示用户输入输入。

标签: python csv sorting


【解决方案1】:

首先,不要使用input作为变量名,因为input本身就是询问输入的函数名。

其次,您的问题是如何在代码中存储 csv 文件内容,以便在每种排序中重复使用它。一种方法是将其放入列表中,

import csv 
filename = input() # change the variable name
csv_content = []
with open(filename, 'r') as csvfile:
     csv_reader = csv.reader(csvfile)
     for row in csv_reader:
         print(row)
         csv_content.append(row)

然后你对这个csv_content 列表做各种各样的事情,比如通过csv_content.sort() 应用sort

【讨论】:

  • 这实际上非常有帮助,并且极大地推动了正确的更正,非常感谢。
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 2014-11-22
  • 2019-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-11
  • 2014-01-21
相关资源
最近更新 更多