小编534*_*534的帖子

Python-CSV模块可将某些行写入新文件

我有一个小问题。我正在尝试创建一个使用大型(〜2gb)csv文件(id,integer,integer)的脚本,按第一个整数对它们进行排序,然后将前x行(由用户定义)写入新文件)。

我能够使sort函数按要求工作,并且提取顶部的X行也可以,但是我无法弄清楚如何获取此输出以写入csv。为了检查它是否正常工作,我提供了打印功能,并且一切正常。

我觉得我在csv模块中缺少一个非常基本的概念,但是我无法弄清楚它是什么!

import csv
import operator

def csv_to_list(csv_file, delimiter=','):

    with open(csv_file, 'r') as csv_con:
        reader = csv.reader(csv_con, delimiter=delimiter)
        return list(reader)

def sort_by_column(csv_cont, col, reverse=True):

    header = csv_cont[1]
    body = csv_cont[1:]
    if isinstance(col, str):  
        col_index = header.index(col)
    else:
        col_index = col
    body = sorted(body, 
           key=operator.itemgetter(col_index), 
           reverse=reverse)
    #body.insert(0, header)
    return body

def print_csv(csv_content):
    for row in csv_content:
        row = [str(e) for e in row]
        print('\t'.join(row))

def write_csv(dest, csv_cont):
    with open(dest, 'w') as out_file:
        writer = csv.writer(out_file, delimiter=',')
        for row in csv_cont: …
Run Code Online (Sandbox Code Playgroud)

python csv python-3.x

2
推荐指数
1
解决办法
1万
查看次数

在列表中查找最高值(和索引)的 Pythonic 方法

我有一个整数列表,我想找到列表中的最高值(最大值和最接近值)及其相应的索引值。

我有一个方法,但我觉得太复杂了!

lst = [10,6,17,99,3,1,-3,47, 99]
max_value = (max(lst))
largest = 0.0
largest_index = 0
second_largest = 0.0
second_largest_index = 0
third_largest = 0
third_largest_index = 0
for (index,value) in enumerate (lst):
        if value == largest_value:
            if largest == 0.0:
                largest = value
                largest_index = index
            elif largest != 0.0 and value > second_largest:
                second_largest = value
                second_largest_index= index
            elif second_largest != 0.0 and value > third_largest:
                third_largest = value
                third_largest_index = index
            elif third_largest != 0.0 and value > …
Run Code Online (Sandbox Code Playgroud)

python sorting indexing ranking

2
推荐指数
1
解决办法
8691
查看次数

标签 统计

python ×2

csv ×1

indexing ×1

python-3.x ×1

ranking ×1

sorting ×1