用Python将字符串列表写入Excel CSV文件

2024-04-25 08:18:41 发布

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

我正在尝试使用下面的脚本创建一个csv文件,该文件包含Python中字符串列表的内容。但是,当我检查输出文件时,发现每个字符都由逗号分隔。如何指示csv.writer分隔列表中的每个字符串,而不是每个字符?

import csv

RESULTS = ['apple','cherry','orange','pineapple','strawberry']

result_file = open("output.csv",'wb')
wr = csv.writer(result_file, dialect='excel')
for item in RESULTS:
    wr.writerow(item)

我查了一下PEP 305,找不到任何具体的东西。


Tags: 文件csv字符串import脚本内容列表result
3条回答

修复起来非常简单,只需将writerow的参数转换为列表即可。

for item in RESULTS:
     wr.writerow([item,])

我知道我有点晚了,但我发现可以工作(不需要使用csv)的是为列表中的每个元素编写一个for循环,写入文件。

# Define Data
RESULTS = ['apple','cherry','orange','pineapple','strawberry']

# Open File
resultFyle = open("output.csv",'w')

# Write data to file
for r in RESULTS:
    resultFyle.write(r + "\n")
resultFyle.close()

我不知道这个解决方案是否比已经提供的更好,但它更能反映你最初的逻辑,所以我想我会分享。

^{}^{}方法接受一个iterable作为参数。结果集必须是列表(列)的列表(行)。

csvwriter.writerow(row)

Write the row parameter to the writer’s file object, formatted according to the current dialect.

执行以下任一操作:

import csv
RESULTS = [
    ['apple','cherry','orange','pineapple','strawberry']
]
with open('output.csv','wb') as result_file:
    wr = csv.writer(result_file, dialect='excel')
    wr.writerows(RESULTS)

或:

import csv
RESULT = ['apple','cherry','orange','pineapple','strawberry']
with open('output.csv','wb') as result_file:
    wr = csv.writer(result_file, dialect='excel')
    wr.writerow(RESULT)

相关问题 更多 >