使用python将多列写入csv文件

时间:2017-07-27 22:45:07

标签: python-3.x csv

我是一名蟒蛇初学者。我正在尝试将多个列表写入csv文件中的单独列中。

在我的csv文件中,我想要

2.9732676520000001 0.0015852047556142669 1854.1560636319559
4.0732676520000002 0.61902245706737125   2540.1258143280334
4.4032676520000003 1.0                   2745.9167395368572

以下是我写的代码。

df=[2.9732676520000001, 4.0732676520000002, 4.4032676520000003]
CS=[1854.1560636319559, 2540.1258143280334, 2745.9167395368572]
int_peak=[0.0015852047556142669, 0.61902245706737125, 1.0]

with open('output/'+file,'w') as f:
    for dt,int_norm,CSs in zip(df,int_peak,CS):
        f.write('{0:f},{1:f},{2:f}\n'.format(dt,int_norm,CSs)) 

运行不正常。我将非空格式字符串传递给object。格式此错误消息。我很难抓住出了什么问题。有人能发现我的代码出了什么问题吗?

2 个答案:

答案 0 :(得分:2)

最好使用2.973268 0.001585 1854.156064 4.073268 0.619022 2540.125814 4.403268 1.000000 2745.916740

file

输出CSV如下所示:

df=[2.9732676520000001, 4.0732676520000002, 4.4032676520000003]
CS=[1854.1560636319559, 2540.1258143280334, 2745.9167395368572]
int_peak=[0.0015852047556142669, 0.61902245706737125, 1.0]

file_name = "your_file_name.csv"

with open('/tmp/'+file_name,'w') as f:
    for dt,int_norm,CSs in zip(df,int_peak,CS):
        f.write('{0:f},{1:f},{2:f}\n'.format(dt,int_norm,CSs))

但是,要修复代码,您需要使用2.973268,0.001585,1854.156064 4.073268,0.619022,2540.125814 4.403268,1.000000,2745.916740 以外的其他文件名变量。我在您的代码中更改了如下:

{{1}}

它有效。输出如下:

{{1}}

答案 1 :(得分:1)

如果您只需要将几个选定的列写入CSV,则应使用以下选项。

Object.equals