Python CSV查找

时间:2015-01-24 23:13:23

标签: python-2.7 csv

考虑两个csv文件;

  • 包含180行的A.csv
  • 包含1400行的B.csv。

为什么波纹管代码只会在A.csv的第一次迭代时打印B.csv行?

with open('A.csv', 'rU') as a_data, open('B.csv', 'rU') as b_data:
        a_rows = csv.reader(a_data, delimiter=',', quotechar='"')
        b_rows = csv.reader(b_data, delimiter='\t')

        for a_row in a_rows:
            print a_row[0]

            for b_row in b_rows:
                print b_row[0]

假设:

  • A.csv行的索引0是从1000开始的整数序列。
  • B.csv行的索引0是从10000开始的整数序列。

以下是印刷内容的表示:

1000
10001
10002
.
.
.
11398
11399
1001
1002
1003
.
.
.
1179

1 个答案:

答案 0 :(得分:1)

b_rows是csv阅读器指针而不是列表。因此,这将逐行读取,直到第一次迭代中的b_rows的EOD。

在接下来的连续a_row迭代中,b_rows将始终指向空。