Python 使用openpyxl无法创建XLSX

Python 使用openpyxl无法创建XLSX,python,python-2.7,openpyxl,Python,Python 2.7,Openpyxl,我尝试了下面的代码。我尝试在Excel上打开,但发现文件已损坏,然后修复该文件以读取它。当xlsx打开时,如何消除xlsx修复问题 import csv from openpyxl import Workbook def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs): csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs) for row in c

我尝试了下面的代码。我尝试在Excel上打开,但发现文件已损坏,然后修复该文件以读取它。当xlsx打开时,如何消除xlsx修复问题

import csv
from openpyxl import Workbook

def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs):
  csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs)
  for row in csv_reader:
    yield [unicode(cell, 'utf-8') for cell in row]

filename = 'WS_Data_0_2019_09_25_215340128516.csv'
reader = unicode_csv_reader(open(filename))

wb = Workbook()
ws = wb.active

# lets just save 10 rows in a xlsx
i = 0
for row in reader:
  if i < 10:
    ws.append(row)
    # print row
    i = i+1 

wb.save('example.xlsx')
导入csv
从openpyxl导入工作簿
def unicode_csv_阅读器(utf8_数据,方言=csv.excel,**kwargs):
csv_reader=csv.reader(utf8_数据,方言=方言,**kwargs)
对于csv_读取器中的行:
产量[行中单元格的unicode(单元格,'utf-8')]
文件名='WS_Data_0_2019_09_25_215340128516.csv'
reader=unicode\u csv\u读取器(打开(文件名))
wb=工作簿()
ws=wb.active
#让我们在xlsx中只保存10行
i=0
对于读取器中的行:
如果i<10:
ws.append(行)
#打印行
i=i+1
save('example.xlsx')

在ws.append(row)行而不是row上插入一些虚拟数据。说出ws.append('test')并检查xlsx文件是否打开。然后我们可以缩小数据不正确的问题。如果确实如此,那么来自csv的数据是错误的。因此,您可以调试unicode\u csv\u reader函数。如果文件中包含非ASCII码,则需要使用正确的编码打开该文件。@abhlib如果无法与openpyxl一起使用,则会立即出现异常。