用Python中的csv模块读入.xlsx
我正在尝试使用.xlsx格式的csv
模块来读取excel文件,但是即使使用我指定的方言和编码来使用excel文件,我也没有任何运气。 下面,我展示了我尝试过的不同编码的不同尝试和错误结果。 如果任何人都可以将我指向正确的编码,语法或模块,我可以用Python读取.xlsx文件,我会很感激。
用下面的代码,我得到以下错误: _csv.Error: line contains NULL byte
#!/usr/bin/python import sys, csv with open('filelocation.xlsx', "r+", encoding="Latin1") as inputFile: csvReader = csv.reader(inputFile, dialect='excel') for row in csvReader: print(row)
使用下面的代码,我得到以下错误: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 16: invalid continuation byte
#!/usr/bin/python import sys, csv with open('filelocation.xlsx', "r+", encoding="Latin1") as inputFile: csvReader = csv.reader(inputFile, dialect='excel') for row in csvReader: print(row)
当我在encoding
使用utf-16
时,出现以下错误: UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 570-571: illegal UTF-16 surrogate
您不能使用Python的csv
库来读取xlsx
格式的文件。 您需要安装并使用不同的库。 例如,您可以使用xlrd
,如下所示:
import xlrd workbook = xlrd.open_workbook("filelocation.xlsx") sheet = workbook.sheet_by_index(0) for rowx in range(sheet.nrows): cols = sheet.row_values(rowx) print(cols)
这会将文件中的所有行显示为列的列表。 Python Excel网站提供了其他可能的例子。