Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python和csv的特定行的列数_Python_Python 3.x_Csv - Fatal编程技术网

使用python和csv的特定行的列数

使用python和csv的特定行的列数,python,python-3.x,csv,Python,Python 3.x,Csv,我想得到csv文件中给定行的确切列数。这意味着x行和x+1行可以有不同的列。使用此代码: def num_columns(dir,y): f=dir+'\\data.csv' f=open(f, 'r') reader = csv.reader(f,delimiter=';') n=0 for row in reader: if y==n: print(len(

我想得到csv文件中给定行的确切列数。这意味着x行和x+1行可以有不同的列。使用此代码:

def num_columns(dir,y):
        f=dir+'\\data.csv'
        f=open(f, 'r')
        reader = csv.reader(f,delimiter=';')
        n=0
        for row in reader:
            if y==n:
                print(len(row))
                return len(row)
            n+=1
其中y是csv所在的行和目录

问题是它从文档中返回的列的值较高。不是特定的行。我不明白这一点,因为我使用“n”精确地返回它在行上的值。
感谢您首先使用以下方式阅读您的csv:

df = pd.read_csv('filename.csv')
一旦数据进入数据框,下面的函数将返回一个序列,其中每行的值数

df.apply(lambda x: x.count(), axis=1)

您可能希望
n+=1
,而不管您在这里遇到了什么问题。或者更好地
用于n,enumerate(reader)中的行:
。否则,它仅适用于
y=0
.ups。。。。你是对的。固定的