首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何跳过for循环pandas read_csv中的行?

如何跳过for循环pandas read_csv中的行?
EN

Stack Overflow用户
提问于 2018-07-25 09:26:41
回答 1查看 0关注 0票数 0

我有一个由3个表组成的文件。我想定义skiprows参数来将这些表作为一个表读取。该文件如下所示。

代码语言:txt
复制
0   results             
1   bla bla         
2   bla bla         
3   bla bla     
4   bla bla         
5   bla bla         
6   bla bla             
7   Leximin             
8   Rule    0   1   2   3
9   Plurality   0   0.222297    0.222297    0.222297
10  Approval q=2    0   0.111312    0.111312    0.111312
11  Inverse Plurality   0   0.111312    0.111312    0.111312
12  Borda   0   0.305553    0.305553    0.305553
13  Black   0   0.05533 0.05533 0.05533
14  Minimal dominant set    0   0.05533 0.05533 0.05533
15  Minimal undominated set 0   0.05533 0.05533 0.05533
16  Minimal weekly stable set   0   0.05533 0.05533 0.05533
17  Fishburn    0   0.05533 0.05533 0.05533
18  Uncovered set I 0   0.05533 0.05533 0.05533
19  Uncovered set II    0   0.05533 0.05533 0.05533
20  Richelson   0   0.05533 0.05533 0.05533
21  Copeland I  0   0.05533 0.05533 0.05533
22  Copeland II 0   0.05533 0.05533 0.05533
23  Copeland III    0   0.05533 0.05533 0.05533
24  Simpson Multy   0   0.05533 0.05533 0.05533
25  MinMax  0   0.05533 0.05533 0.05533
26  Strong q-Paretian simple majority   0   0.222297    0.222297    0.222297
27  Strong q-Paretian plurality 0   0.05533 0.05533 0.05533
28  Strongest q-Paretian simple majority    0   0.05533 0.05533 0.05533
29  Condorset practical 0   0.083825    0.083825    0.083825
30  Threshold   0   0.305553    0.305553    0.305553
31  Nanson Multy    0   0.05533 0.05533 0.05533
32  Nanson alphabet 0   0.111156    0.111156    0.111156
33  Inverse Borda   0   0.05533 0.05533 0.05533
34  Hare    0   0.222297    0.222297    0.222297
35  Simpson Alphabet    0   0.111156    0.111156    0.111156
36  1-stable set    0   0.05533 0.05533 0.05533
37  2-stable set    0   0.05533 0.05533 0.05533
38  3-stable set    0   0.05533 0.05533 0.05533
39  Approval q=3    0   0   0   0
40  Coombs  0   0.222363    0.222363    0.222363
41                  
42  Leximax             
43  Rule    0   1   2   3
44  Plurality   0   0   0   0
45  Approval q=2    0   0.611112    0.611112    0.611112
46  Inverse Plurality   0   0.611112    0.611112    0.611112
47  Borda   0   0.41719 0.41719 0.41719
48  Black   0   0.166967    0.166967    0.166967
49  Minimal dominant set    0   0.166967    0.166967    0.166967
50  Minimal undominated set 0   0.166967    0.166967    0.166967
51  Minimal weekly stable set   0   0.166967    0.166967    0.166967
52  Fishburn    0   0.166967    0.166967    0.166967
53  Uncovered set I 0   0.166967    0.166967    0.166967
54  Uncovered set II    0   0.166967    0.166967    0.166967
55  Richelson   0   0.166967    0.166967    0.166967
56  Copeland I  0   0.166967    0.166967    0.166967
57  Copeland II 0   0.166967    0.166967    0.166967
58  Copeland III    0   0.166967    0.166967    0.166967
59  Simpson Multy   0   0.166967    0.166967    0.166967
60  MinMax  0   0.166967    0.166967    0.166967
61  Strong q-Paretian simple majority   0   0.166967    0.166967    0.166967
62  Strong q-Paretian plurality 0   0.166967    0.166967    0.166967
63  Strongest q-Paretian simple majority    0   0.166967    0.166967    0.166967
64  Condorset practical 0   0.583625    0.583625    0.583625
65  Threshold   0   0.41719 0.41719 0.41719
66  Nanson Multy    0   0.166967    0.166967    0.166967
67  Nanson alphabet 0   0.111156    0.111156    0.111156
68  Inverse Borda   0   0.166967    0.166967    0.166967
69  Hare    0   0   0   0
70  Simpson Alphabet    0   0.111156    0.111156    0.111156
71  1-stable set    0   0.166967    0.166967    0.166967
72  2-stable set    0   0.166967    0.166967    0.166967
73  3-stable set    0   0.166967    0.166967    0.166967
74  Approval q=3    0   0   0   0
75  Coombs  0   0.500435    0.500435    0.500435
76                  
77  Riskophob               
78  Rule    0   1   2   3
79  Plurality   0   0.222297    0.222297    0.222297
80  Approval q=2    0   0.111312    0.111312    0.111312
81  Inverse Plurality   0   0.111312    0.111312    0.111312
82  Borda   0   0.305553    0.305553    0.305553
83  Black   0   0.05533 0.05533 0.05533
84  Minimal dominant set    0   0.05533 0.05533 0.05533
85  Minimal undominated set 0   0.05533 0.05533 0.05533
86  Minimal weekly stable set   0   0.05533 0.05533 0.05533
87  Fishburn    0   0.05533 0.05533 0.05533
88  Uncovered set I 0   0.05533 0.05533 0.05533
89  Uncovered set II    0   0.05533 0.05533 0.05533
90  Richelson   0   0.05533 0.05533 0.05533
91  Copeland I  0   0.05533 0.05533 0.05533
92  Copeland II 0   0.05533 0.05533 0.05533
93  Copeland III    0   0.05533 0.05533 0.05533
94  Simpson Multy   0   0.05533 0.05533 0.05533
95  MinMax  0   0.05533 0.05533 0.05533
96  Strong q-Paretian simple majority   0   0.222297    0.222297    0.222297
97  Strong q-Paretian plurality 0   0.05533 0.05533 0.05533
98  Strongest q-Paretian simple majority    0   0.05533 0.05533 0.05533
99  Condorset practical 0   0.083825    0.083825    0.083825
100 Threshold   0   0.305553    0.305553    0.305553
101 Nanson Multy    0   0.05533 0.05533 0.05533
102 Nanson alphabet 0   0.111156    0.111156    0.111156
103 Inverse Borda   0   0.05533 0.05533 0.05533
104 Hare    0   0.222297    0.222297    0.222297
105 Simpson Alphabet    0   0.111156    0.111156    0.111156
106 1-stable set    0   0.05533 0.05533 0.05533
107 2-stable set    0   0.05533 0.05533 0.05533
108 3-stable set    0   0.05533 0.05533 0.05533
109 Approval q=3    0   0   0   0
110 Coombs  0   0.222363    0.222363    0.222363

所以我正在使用pandas并且把我放到了skiprows。但是这个代码pandas不会跳过任何行。能否检查下面的代码并提供建议?

代码语言:txt
复制
 import pandas as pd
    file = "C:\\Users\\..."  
    for i in range (1,3):
        df = pd.read_csv(file, header = 8, delimiter='\t', skiprows = lambda x: x in range(9 + i*len(rule_id),12 + i*len(rule_id)), usecols=['Rule', '0', '1', '2', '3'], skip_blank_lines = False)
    print (df)
EN

回答 1

Stack Overflow用户

发布于 2018-07-25 19:07:02

根据你的评论回答你的具体问题:

代码语言:txt
复制
import csv
DESIRED_SKIP_ROWS = [41,42,43,76,77,78]
with open(file) as input_file:
    reader = csv.reader(input_file)
    desired_rows = [row for row_number, row in enumerate(reader)
                    if row_number not in DESIRED_SKIP_ROWS]

如果这和你要找的东西相似,请告诉我。可以使用在问题定义中使用的函数生成DESIRED_SKIP_ROWS列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档