如何将数组写入csv,使数组中的每个元素都位于一个单元格中,并使用python将它们排列成一行?

如何将数组写入csv,使数组中的每个元素都位于一个单元格中,并使用python将它们排列成一行?,python,arrays,csv,Python,Arrays,Csv,我有一个名为genrelist的数组,它包含一部电影的所有不同类型。在Python3.6中,如何将它们写入csv,使genrelist中的每个元素都位于一个单元格中,并且它们位于一行而不是一列中 目前,我可以使用以下代码将它们写在一列中: with open('data.csv', 'a') as csvFile: csvFileWriter = csv.writer(csvFile) for genre in genrelist: csvFileWriter

我有一个名为genrelist的数组,它包含一部电影的所有不同类型。在Python3.6中,如何将它们写入csv,使genrelist中的每个元素都位于一个单元格中,并且它们位于一行而不是一列中

目前,我可以使用以下代码将它们写在一列中:

    with open('data.csv', 'a') as csvFile:
    csvFileWriter = csv.writer(csvFile)
    for genre in genrelist:
      csvFileWriter.writerow([genre])
    csvFile.close()
这将产生以下输出:

|肖宁|

|行动|

|冒险|


所需输出:| shonen | | action | | | adventure |

for循环将单个流派写入一行,就像您希望的那样,但您每次都会启动一个新行!这使多行看起来像一列。通过使用
writerow
功能打印整个
genreList
,可以生成所需的输出。像这样:

with open('data.csv', 'a') as csvFile:
csvFileWriter = csv.writer(csvFile)
csvFileWriter.writerow(genreList)
csvFile.close()

该模块碰巧有一个非常好的read_csv()函数和一个df.to_csv函数

您要做的是创建一个数据帧,如下所示:

import pandas as pd

df = pd.DataFrame(read_csv('data.csv'))
要将列更改为行,只需使用:

df.transpose()
然后您可以将其写入如下文件:

df.to_csv('transposeddata.csv')
完整文档可在此处找到:


如果希望列表为一行,为什么要将其拆分,并将每个项目作为单独的一行创建新列表?不要这样做。writerow会写行,你只需要写一行你需要的
csvFileWriter。writerow(genreList)
啊,新手错了。。csvFileWriter.writerow(genreList)是正确的ans。!!