簡體   English   中英

如何在csv文件中打印列數和行數?

[英]How to print the number of columns and lines in a csv file?

我是Python新手,所以這聽起來像是一個愚蠢的問題,但是我有一個CSV文件,並且我希望我的腳本打印文件中的行數和列數。 這是我的腳本:

import csv

op = open(Test06242015.csv)
rd = csv.reader(op)


for row in rd:
    list = []
    list.append(row)
    print list
    for items in row:
        print len(row)

op.close()

我實際上得到了正確的答案(320),但是它為每行(下面)打印了320次:

[['19.385', '19.227', '18.308', ...]]
320
320
320
320
320
320
320
320
(...and it keeps going)

如何使320只打印一次? 另外,如何讀取行數?

非常感謝!

您正在內部循環內打印行的長度,請嘗試在內部循環外打印行的長度。

范例-

for row in rd:
    list = []
    list.append(row)
    print list
    for items in row:
        pass # or whatever other logic you want, if you do not want to do anything remove this loop
    print len(row)
import csv

with open('Test06242015.csv', 'rb') as f:
    reader = csv.reader(f)
    line = next(reader, [])
    remaining = len(reader)
    print len(line)  # Number of columns
    if line:
        remaining += 1
    print remaining  # Total numer of rows.

您應該只打印行及其長度,而不是每行的整個列表以及每列的行長。

counter = 1
for row in rd:
    print counter, len(row), row
    counter += 1

您還可以使用速度非常快的熊貓來獲取所需的信息:

import pandas as pd

df = pd.read_csv('filename.csv')
print(df.shape)

#Output

#(數量或行數,列數)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM