如何计算每行中的列数?

时间:2017-08-14 05:57:36

标签: python excel csv

每行的列数不同,但列A始终是文件名,其余列是该文件的字段。

有什么方法可以计算每一行的列数?

import csv
file=('C:/)
with open('C:/Count.csv','w',encoding='cp949',newline='') as testfile:
    csv_writer=csv.writer(testfile)
    for line in file:
        lst=[len(line)]
        csv_writer.writerow(lst)

1 个答案:

答案 0 :(得分:3)

您可以选择分割逗号或使用csv打开文件。

我推荐后者。以下是如何做到这一点:

file1 = ... # file to read
file2 = ... # file to write
with open(file1, 'r') as f1, open(file2, 'w', encoding='cp949', newline='') as f2:
    csv_reader = csv.reader(f1)
    csv_writer = csv.writer(f2)
    for row in csv_reader:
        csv_writer.writerow([len([x for x in row if x])]) # non-null counts only

同时打开两个文件,遍历文件进行读取,使用len(row)对其列进行计数,然后将其写出来。