[英]Adding a list as new column to csv file
I have a list of items and I want to write it in my existing csv as new column. 我有一个项目列表,我想将其作为新列写入现有的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
This is what I actually have,in the same there will me more cols with different no of rows on every iteration. 这是我实际拥有的,同样,在每次迭代中,我将有更多的cols具有不同的行数。 What I want is in the screenshot ==== is just for demonstration.
我想要的是截图====只是为了演示。
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))
Output 输出量
rizwan,10,in
arsalan,30,out
ali,40,out
suffiyan,60,in
In your case, you need to read your file and write to it. 就您而言,您需要读取文件并将其写入。
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))
pandas
library is pretty good for that: pandas
库非常适合:
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)
The final csv file contents: 最终的csv文件内容:
rizwan,10,in
arsalan,30,out
ali,40,out
suffiyan,60,in
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.