在csv txt或任何其他文件中按字母顺序对行进行排序

塞巴斯蒂安

我需要编写一个程序来提示用户输入任何文件名,逐行加载数据,删除所有重复的行,按字母顺序对行进行排序,并将其余行写入另一个文件。

我已经完成了大部分代码,但是我正在努力按字母顺序对行进行排序。有什么建议吗?

预先感谢您的帮助!

def deleteDuplicateRecords(fileName):
    try:
        newFileName="filtered_"+fileName
        with open(fileName,'r') as readFile, open(newFileName,'w') as writeFile:
            lineSet = set()
            for line in readFile:
                if line not in lineSet: 
                    lineSet.add(line)
                    writeFile.write(line)
        readFile.close()
        writeFile.close()
        print(f"Duplicate rows removed succesfully. Open the new file '{newFileName}'")
    except FileNotFoundError:
        print("File Not Found")

name = input("Enter the name of the text file including the proper extension (.txt, .csv, etc): ")
print()

deleteDuplicateRecords(name)

京东

这应该工作:

def deleteDuplicateRecords(fileName):
    try:
        newFileName="filtered_"+fileName
        with open(fileName,'r') as readFile, open(newFileName,'w') as writeFile:
            for sorted_line in sorted({line for line in readFile}):
                writeFile.write(sorted_line)
        print(f"Duplicate rows removed successfully. Open the new file '{newFileName}'")
    except FileNotFoundError:
        print("File Not Found")

一些注意事项:

  1. 正如其他人所提到的,如果使用with,则在范围结束时将自动关闭文件。
  2. 如果使用集合,则不会将重复项添加到列表中,因此没有理由检查列表中是否已存在该项
  3. 如果有可迭代项(列表,集合等),则可以简单地使用该sorted函数对结果进行排序
  4. 该行{line for line in readFile}使用set comprehension以更简洁的方式根据文件的行创建一个set。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按字母顺序对CSV文件进行排序?

有连字符时,按字母顺序对.csv文件进行排序无法正常工作

如何按字母顺序对 csv 数据进行排序,然后按列按数字排序?

在 Python 中处理 csv 表,无需 Pandas、csv 或任何其他模块或库

熊猫:按CSV文件中的列表对行进行分组?

按第一个值对CSV文件的行进行排序

如何按字母顺序对csv文件进行排序,以及如何不使用我的代码在控制台中显示“隐藏”文件

按日期对目录中的多个csv文件进行排序python

按列对csv文件进行排序

如何使用gedit按字母顺序对文本文件中的行进行排序

在没有标题和第一列的csv文件中对行进行排序

如何使用Go按字母顺序排列csv文件?

在 Python 中按字母顺序排列 CSV 文件中的行

尝试对大型csv文件进行排序,但输出未写入其他文件

从R中的其他CSV文件动态创建CSV文件

按列对 CSV 进行排序

在csv文件中对整数进行排序-python

使用jq或任何其他bash命令将JSON转换为CSV

尝试按字母顺序对 txt 文件进行排序并将其保存到新文件中

使用命令按三列对csv文件进行排序?

按日期对csv文件的输出进行排序python

Python-按字母顺序对列表列表中的列表项进行排序,并让其他列表遵循交换顺序

对CSV中的无效行进行故障排除

按升序对每个目录中的目录和文件进行排序,然后将数据导出到csv

如何在Java中按两列对csv文件进行排序?

按字母顺序对表格行进行排序

按长度和字母顺序对行进行排序

Tkinter从csv文件中按顺序读取行

在熊猫数据框中以不按字母顺序的方式对行进行排序