使用python列表编写csv文件

时间:2017-06-20 20:44:42

标签: python-3.x opencsv

我是一名蟒蛇初学者。我得到的数据文件包含以下内容:(这些是分隔符)

(x values)    (y values)
113           0
116           2
119           0
214           3
220           0
230           3
290           5

从数据文件中,我必须删除y值为0的x和y数据。这可以通过以下方式完成。

import numpy as np

files = ['my_data.txt']

for file in files:
    data = np.loadtxt(file,unpack=True)
    data_filtered_both = data[:,data[1,:] != 0]
x_array=np.array(data_filtered_both[1])
y_array=np.array(data_filtered_both[0])

现在,我想创建一个包含新数据文件的csv文件,该文件包含x_array和y_array(制表符分隔)。看起来像这样..

(x_array)    (y_array)
116           2
214           3
230           3
290           5

到目前为止,我已尝试过以下内容。

import csv
with open('text.csv', 'w') as f:
    writer = csv.writer(f, delimiter='\t')
    writer.writerows(zip(x_array,y_array)+'\n')
f.close()

我的python在writer.writerows(zip(x_array,y_array)+'\n')显示一个箭头,表示该行可能写错了。我的内核在没有完成任务的情况下继续死亡,所以我不确定它为什么不起作用。

这是创建csv文件的正确方法吗?或者还有其他建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果没有使用csv模块,下面就是我解决这个问题的方法。

<some-component></some-component>

代码非常明显,但如果你需要解释它是如何工作的,我会非常乐意提供帮助:)

另外,请记住,与使用'with'语句相比,之后关闭文件不是必需的,因为缩进中的所有指令一旦执行完毕,文件就会自动关闭。