使用Python将tuple导出为csv或文本文件报错如何解决
报错原因
- 第一个报错:
csv.writer的writerow方法要求传入可迭代对象(如列表、元组),你遍历元组时每次取出的是单个整数,直接传入就会触发类型错误。 - 第二个报错:原生Python元组没有
to_csv方法,该方法属于Pandas的Series、DataFrame对象,直接对元组调用自然会报错。
正确实现方案
方案1:使用csv模块导出
场景1:每个元素单独占一行
import csv vilist = (1,2,3,4) with open('op.csv', 'w') as f: writer = csv.writer(f, lineterminator='\n') for num in vilist: # 将单个数值包装为列表后传入 writer.writerow([num])
场景2:所有元素存为同一行
import csv vilist = (1,2,3,4) with open('op.csv', 'w') as f: writer = csv.writer(f, lineterminator='\n') # 直接传入整个元组即可 writer.writerow(vilist)
方案2:使用Pandas的to_csv方法导出
需要先将元组转换为Pandas的Series或DataFrame对象再调用导出方法:
import pandas as pd vilist = (1,2,3,4) # index=False 不导出索引,header=False 不导出列名,可根据需求调整 pd.Series(vilist).to_csv('test.csv', index=False, header=False)
内容的提问来源于stack exchange,提问作者The Great
相关产品推荐
相关产品推荐

