如何将列表转换为csv中的列?

q3qa4bjr  于 2023-06-19  发布在  其他
关注(0)|答案(4)|浏览(109)

目前我有一个填充列表

list =[a, b, c, d]

我想将列表的内容转换为csv文件,并将列表的所有元素都变成一列。这是我当前的代码:

with open('twitter3.csv', 'w+') as csvfile:
    writer = csv.writer(csvfile, dialect='excel')
    writer.writerow(list)

输出的csv文件包含列表的元素,但正如方法所暗示的,它已经将所有内容写入第一行。
我试着创建一个for循环来写入每个element + \n,但是writerow方法有一个问题(在每个字母后面放逗号),并且csvwriter没有writecolumn方法。

vfh0ocws

vfh0ocws1#

要执行此任务,我将使用pandas包,如下所示:

import pandas as pd
l=["a","b","c","d"]
df=pd.DataFrame(l)
df.to_csv("twitter3.csv", index=False,header=False)

pandas也很适合阅读csv,甚至使用Excel文件。

3phpmpom

3phpmpom2#

您可以通过将列表中的元素连接到一个字符串中,并使用新的行字符'\n\r'作为分隔符,然后将整个字符串写入文件。
例如:

my_list = [a, b, c, d]

with open("twitter3.csv", "w+") as csvfile:
    to_write = "\n\r".join(my_list)
    csvfile.write(to_write)

(Also '\n'工程)

sbdsn5lh

sbdsn5lh3#

这是我能想到的最简单的方法:

import csv

my_list = ['a', 'b', 'c', 'd']

with open('twitter3.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, dialect='excel')
    writer.writerows(tuple(item) for item in my_list)

注意,我将列表变量的名称更改为my_list,这样它就不会与内置的list类冲突。

llycmphe

llycmphe4#

我把所有的代码放在一个地方,这样就可以复制和测试它。

import csv

# Should not use 'list' as variable
lst =['a', 'b', 'c', 'd']

# newline='' prevent additional new lines in file
with open('twitter3.csv', 'w+', newline='') as csvfile:
  writer = csv.writer(csvfile, dialect='excel')
  for l in lst:
    writer.writerow(l)

输出twitter3.csv则为:

a
b
c
d

相关问题