我正在尝试遍历一个大型CSV文件,将所有行但是变量名称写入一个新文件,同时使用有效的方法进行操作。我正在使用来自itertools的islice。有没有人提供比我下面的代码更有效的方法?
from itertools import islice
var = len(csv)
with open("csv_file1.csv") as file1, open("trial1.csv", 'w') as file2:
head1 = list(islice(file1, var))[0].split(",")
while (var > 1):
for line in head1:
file2.write(str(head1))
file2.write("\n")
var = var - 1
print(var)
file2.close()
答案 0 :(得分:2)
csv
模块
def read_csv(filename):
with open(filename) as f:
reader = csv.reader(f)
for row in reader:
yield row
之后read_csv("csv_file1.csv")
为您提供了一个生成器,您可以在for循环中使用它,也可以将map / filter函数应用于它,具体取决于行转换的逻辑。