如何使用python将列表中的项目写入csv上的行

2024-05-19 01:34:55 发布

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

我有一个名为itemresults的列表,如下所示:

['24500', '17000', '60000', '56300', '24500', '24500', '114950', '32000', '70000', '46948', '133000', '49550', '51600', '35995', '44500', '19300', '34200', '39964', '59900', '27999', '16100', '39000', '78995', '19101', '25000', '30000', '72000', '39900', '30000', '29000', '24900', '22990', '52600', '82600', '64000', '13999', '29500', '46800', '95000', '42900', '32500', '3969', '36000', '32995', '24000', '49999.99', '37500', '34000', '47600', '43500', '28500']

我想将其写入csv文件,以便每一行都是列表中的一项,因此基本上如下所示:

24500
17000
60000
56300
24500
.....

我尝试过用不同的方法来做这件事,但每次,它都只在一个单元格中写入整个列表。我尝试过使用这样的嵌套列表:

outputFile = open('outputFile.csv', 'w', newline='') 
outputWriter = csv.writer(outputFile)
outputWriter.writerow([elements])

但这仍然只是将整个列表写入第一个单元格。我想把每一项都写到一个新行。有人知道我是如何做到这一点的吗?谢谢


Tags: 文件csv方法列表newlineelementsopenwriter
3条回答

您可以使用常规python文件处理来实现这一点,如下所示:

your_list = ['24500', '17000', '60000', '56300', '24500', '24500', '114950', '32000', '70000', '46948', '133000', '49550', '51600', '35995', '44500', '19300', '34200', '39964', '59900', '27999', '16100', '39000', '78995', '19101', '25000', '30000', '72000', '39900', '30000', '29000', '24900', '22990', '52600', '82600', '64000', '13999', '29500', '46800', '95000', '42900', '32500', '3969', '36000', '32995', '24000', '49999.99', '37500', '34000', '47600', '43500', '28500']

with open("outputFile.csv", "w") as outputFile:
  for item in your_list:
    outputFile.write(f'{item}\n')

试试这个

import csv

itemresults = ['24500', '17000', '60000', '56300', '24500', '24500', '114950', '32000', '70000', '46948', '133000', '49550', '51600', '35995', '44500', '19300', '34200', '39964', '59900', '27999', '16100', '39000', '78995', '19101', '25000', '30000', '72000', '39900', '30000', '29000', '24900', '22990', '52600', '82600', '64000', '13999', '29500', '46800', '95000', '42900', '32500', '3969', '36000', '32995', '24000', '49999.99', '37500', '34000', '47600', '43500', '28500']


filename = 'outputFile.csv'
with open(filename, 'w') as csvfile:  
    csvwriter = csv.writer(csvfile)
    for x in itemresults:
        csvwriter.writerow([x])

这里不需要使用csv.writer。您只需直接写入数字并使用'\n'.join(itemresults)格式化即可:

...
outputFile.write('\n'.join(itemresults))
...

相关问题 更多 >

    热门问题