Python:使用with open将数据写入CSV多列(无需pandas)
解决方案
错误原因
直接通过文件对象调用writerows方法是错误的——这个方法属于Python标准库csv模块中的writer对象,普通文件对象本身没有这个属性。
方法一:手动拼接CSV格式写入
无需导入任何额外库,直接按照CSV的逗号分隔规则拼接每行内容后写入:
list1 = ['1970', '1980', '1990'] list2 = [0.9, 1.5, 30] with open('output.csv', 'w+', newline='') as f: # 可选:写入表头 f.write("年份,数值\n") # 遍历配对元素,拼接成CSV行并写入 for i, j in zip(list1, list2): f.write(f"{i},{j}\n")
方法二:使用内置csv模块(推荐)
csv是Python自带的标准库,不属于第三方额外依赖,能更规范处理CSV的格式细节(比如特殊字符转义):
import csv list1 = ['1970', '1980', '1990'] list2 = [0.9, 1.5, 30] with open('output.csv', 'w+', newline='') as f: writer = csv.writer(f) # 写入表头 writer.writerow(["年份", "数值"]) # 批量写入所有行 writer.writerows(zip(list1, list2))
内容的提问来源于stack exchange,提问作者123456
相关产品推荐
相关产品推荐

