csv文件中的行计数

hof1towb  于 2023-04-18  发布在  其他
关注(0)|答案(7)|浏览(117)

我可能犯了一个愚蠢的错误,但我找不到它在哪里。我想计算我的csv文件中的行数。我写了这个,显然不起作用:我有row_count = 0,而它应该是400。干杯。

f = open(adresse,"r")
reader = csv.reader(f,delimiter = ",")
data = [l for l in reader]
row_count = sum(1 for row in reader)

print row_count
mkshixfv

mkshixfv1#

with open(adresse,"r") as f:
    reader = csv.reader(f,delimiter = ",")
    data = list(reader)
    row_count = len(data)

当保存data列表后文件指针已经到达文件末尾时,您正在尝试读取文件两次。

juzqafwq

juzqafwq2#

首先,你必须用open打开文件:

input_file = open("nameOfFile.csv","r+")

然后使用csv.reader打开csv:

reader_file = csv.reader(input_file)

最后,您可以使用指令len获取行数:

value = len(list(reader_file))

代码如下:

input_file = open("nameOfFile.csv","r+")
reader_file = csv.reader(input_file)
value = len(list(reader_file))

记住,如果你想重用csv文件,你必须创建一个input_file.fseek(0),因为当你为reader_file使用一个列表时,它会读取整个文件,并且文件中的指针会改变它的位置。

sauutmhj

sauutmhj3#

如果你正在使用python3并且安装了pandas库,你可以使用

import pandas as pd

results = pd.read_csv('f.csv')

print(len(results))
jmp7cifd

jmp7cifd4#

我会考虑使用发电机。它可以完成这项工作,并使您免受任何类型的MemoryError的安全

def generator_count_file_rows(input_file):
    for row in open(input_file,'r'):
        yield row

然后呢

for row in generator_count_file_rows('very_large_set.csv'):
        count+=1
pftdvrlh

pftdvrlh5#

  • 重要的东西是隐藏在注解部分的解决方案是标记正确的。*

为了更好的可见性,在这里重新分享Erdös-Bacon的解决方案。

为什么?因为:它节省了大量的内存,而不必创建列表。
所以我觉得这样比较好

def read_raw_csv(file_name):
    with open(file_name, 'r') as file:
        csvreader = csv.reader(file)

        # count number of rows
        entry_count = sum(1 for row in csvreader)
        print(entry_count-1)  # -1 is for discarding header row.

查看this链接了解更多信息

mqxuamgl

mqxuamgl6#

# with built in libraries
opened_file = open('f.csv')
from csv import reader

read_file = reader(opened_file)
apps_data = list(read_file)

rowcount = len(apps_data) #which incudes header row

print("Total rows incuding header: " + str(rowcount))
9cbw7uwe

9cbw7uwe7#

简单地在Notepad++中打开csv文件。它会在瞬间显示总行数。:)或者在cmd提示符中,提供文件路径并键入命令 *find \c \v“some meaningless string”Filename.csv *

相关问题