Python CSV 查找
Python CSV lookup
考虑到两个 csv 文件;
- A.csv 包含 180 行
- B.csv 包含 1400 行。
为什么下面的代码只会在 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
b_rows 是 csv reader 指针而不是列表。因此,这将逐行读取,直到第一次迭代中 b_rows 的 EOD。
在接下来的连续 a_row 次迭代中,b_rows 将始终指向空。
考虑到两个 csv 文件;
- A.csv 包含 180 行
- B.csv 包含 1400 行。
为什么下面的代码只会在 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
b_rows 是 csv reader 指针而不是列表。因此,这将逐行读取,直到第一次迭代中 b_rows 的 EOD。
在接下来的连续 a_row 次迭代中,b_rows 将始终指向空。