【发布时间】:2022-01-03 16:20:04
【问题描述】:
我在尝试通过 csv 写入器将数据导出到 Excel 文件时遇到问题。
当我尝试使用默认分隔符(逗号)导出它时,它会正确执行。这是带有默认分隔符的代码:
with open(file, 'w', encoding="utf-8", newline='') as csvfile:
writer = csv.writer(csvfile, dialect='excel',quoting=csv.QUOTE_NONNUMERIC)
输出:
"ID","Title","Genre","Country"
"A4321","Film1","Horror","USA"
"A4322","Film2","Romance","France"
"A4323","Film3","Comedy","Germany"
"A4324","Film4","Western","UK"
当我通过逗号分隔符将文本转换为 Excel 中的列时,它会在列中正确分隔。
但是,如果我尝试使用竖线 (|) 作为分隔符,输出会很奇怪,因为它会在文件中创建更多引号。这是代码,我只添加了分隔符的规范:
with open(m_file, 'w', encoding="utf-8", newline='') as csvfile:
writer = csv.writer(csvfile, dialect='excel', delimiter ='|', quoting=csv.QUOTE_NONNUMERIC)
输出:
"ID"|"Title"|"Genre"|"Country"
"A4321|""Film1""|""Horror""|""USA""
"A4322|""Film2""|"Romance""|"France""
"A4323|""Film3""|""Comedy""|""Germany""
"A4324|""Film4""|""Western""|""UK""
并且用竖线分隔符分隔在 Excel 上不起作用。
我尝试过更改引用,添加escapechars和doublequotes = False,但它不起作用
我应该改变什么吗?
【问题讨论】:
标签: python python-3.x csv