Python 3 - 在当前按字母顺序排列的文档中查找插入字符串的位置

标签 python list csv python-3.x indexing

所以我现在有一个文档,其中有多个不同的项目,用逗号分隔。

文档中每一行的第一个单词按字母顺序排列,因此每一行都按字母顺序排列。我需要创建一个函数来查找插入新字符串的索引,同时保持按字母顺序排列的列表。换句话说,插入它时它仍然是按字母顺序排列的。

我正在使用以下 for 循环在逗号处拆分每一行。

infile = open("Brain.csv", "r")

for line in infile:
    line.split(",")

我怎样才能从这里着手呢?按字母顺序排列的单词当然在索引 [0] 处。

最佳答案

csv模块提供 csv.readercsv.writer轻松读写csv 文件。也就是说,您可以将项目添加到列表中并使用 bisect.insort 对其进行排序。功能。

form bisect import insort
import csv

with open('brain.csv') as f, \
     open('brain_rewrite.csv', 'w') as out:
    f_csv = csv.reader(f)
    out_csv = csv.writer(out)
    for row in f_csv:
        g = sorted(i.strip() for i in row)
        insort(g, 'Foo') #here inserting word 'Foo' note that word case matter.
        out.writerow(g)

关于Python 3 - 在当前按字母顺序排列的文档中查找插入字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641278/

相关文章:

python - PEP8 不允许尝试除了阻止

python - 从嵌套列表创建字典的有效方法

python - 如何从 3D numpy meshgrid 中提取 2D 平面

python - 导入的类看不到 Pytest 环境装置

python - 将列表写入文件以供日后重用

bash - 根据列中的特定单词删除特定行

python - 如何分块加载 Pickle 文件?

python - 从 .csv 文件获取数据

python - 有没有办法在设置有意义的默认值时确定是否在命令行中指定了参数?

regex - 比较两个文档