将列表作为新列添加到csv fi

2024-10-02 06:34:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目列表,我想写在我现有的csv作为新的列

mylist=['in','out','out','in']

with open('my.csv','w') as file:
   writer = csv.writer(file, lineterminator='\n')
   writer.writerows(mylist)


first_column       2nd_col
=====               ====
AMPHENOL           AMPHENOL

AMPHENOL           MOLEX
NEXANS             MOLEX
                   NEXANS
AMPHENOL
RS

RS

MPHENOL

这就是我实际拥有的,在同样的情况下,每次迭代都会有更多的列数不同的列。我想要的是在截图===只是为了演示

Screenshot of output


Tags: csv项目in列表mywithopenout
2条回答
s = '''rizwan,10
arsalan,30
ali,40
suffiyan,60'''
s = s.split('\n')
mylist=['in','out','out','in']
for i, v in enumerate(mylist):
    s[i] += ',' + v
print('\n'.join(s))

输出

rizwan,10,in
arsalan,30,out
ali,40,out
suffiyan,60,in

在您的情况下,您需要读取文件并对其进行写入

with open('test.csv', 'r') as file:
    s = file.read()
s = s.split('\n')
mylist=['in','out','out','in']
for i, v in enumerate(mylist):
    s[i+2] += ',' + v
with open('test.csv', 'w') as file:
    file.write('\n'.join(s))

^{}库非常适合:

In [274]: mylist=['in','out','out','in']                                                                        

In [275]: df = pd.read_csv('my.csv', sep=',', header=None)                                                          

In [276]: df['new_col'] = mylist                                                                                

In [277]: df.to_csv('my.csv', sep=',', index=None, header=False)   

最终csv文件内容:

rizwan,10,in
arsalan,30,out
ali,40,out
suffiyan,60,in

相关问题 更多 >

    热门问题