写入csv文件列而不是python

时间:2015-12-22 00:16:14

标签: python csv

我正在尝试写入csv文件的列(A,B,C等)而不是行。这是我正在尝试的代码:有了这个,我可以在A列中写入。在下一个if条件中,我想添加如果rec值>&10;<然后在B列中打印。我在注释代码中尝试了类似的东西,但它写的是行而不是列。这样做可能会有很大的工作,但是任何简单和整洁的方式都可以吗?谢谢! (num_file.txt包含随机生成的100个数字,值介于0和100之间)

    import csv
    l =[]
    with open("num_file.txt", "r") as ipfile, open("op1.csv", "w") as opfile:
        reader = csv.reader(ipfile)
        writer = csv.writer(opfile)
        for rec in reader:
          for i in range(len(rec)):
             if float(rec[i]) < 10:            
               l.insert(0,[rec[i]])
             #if float(rec[i]) > 10 and float(rec[i]) < 20:
             #  l.insert(1,[rec[i]])
        writer.writerows(l)

CSV文件输出现在是这样的:

4.57

2.1

7.05

8.05

3.27

8.9

5.45

8.74

4.55

The output csv file

1 个答案:

答案 0 :(得分:1)

你应该用writer.writerow(l)写一行。如果您使用writerows(l),则会为l中的每个元素写一行,这就是每行有一个元素的原因。

Here are the csv.writer docs