[英]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.