从csv转换为excel时布局错误

时间:2017-10-29 08:12:01

标签: python excel csv excel-2010 openpyxl

我有以下代码,但输出显示不正确。 任何想法,为什么它导致这一点。我在Linux中没有这个问题

我尝试添加:encoding =" utf-8"

然而,这并没有解决问题。

import csv
import openpyxl

wb = openpyxl.Workbook()
ws = wb.active

f = open('C:\HAHA.csv')
reader = csv.reader(f, delimiter=':')
for row in reader:
    ws.append(row)
f.close()

wb.save('C:\HAHA.xlsx')

enter image description here

2 个答案:

答案 0 :(得分:1)

您告诉csv模块使用:作为分隔符,而实际文件使用(标准)逗号分隔记录。

f = open('C:\HAHA.csv') 
reader = csv.reader(f)

此外,根据您的Python版本,您应该在打开文件时使用newline参数或rb模式。阅读csv module (Python 2)csv module (Python 3)

的文档

答案 1 :(得分:0)

您的分隔符为:而不是import csv import openpyxl wb = openpyxl.Workbook() ws = wb.active with open('C:\HAHA.csv') as f: reader = csv.reader(f, delimiter=',') for row in reader: ws.append(row) wb.save('C:/HAHA.xlsx')

{{1}}