【发布时间】:2017-11-16 13:16:54
【问题描述】:
这是我将 CSV 文件隐蔽到 .xlsx 文件的代码,对于小尺寸 CSV 文件,此代码工作正常,但当我尝试处理大尺寸 CSV 文件时,它显示错误。
import os
import glob
import csv
from xlsxwriter.workbook import Workbook
for csvfile in glob.glob(os.path.join('.', 'file.csv')):
workbook = Workbook(csvfile[:-4] + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'r', encoding='utf8') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet.write(r, c, col)
workbook.close()
错误是
File "CsvToExcel.py", line 12, in <module>
for r, row in enumerate(reader):
_csv.Error: field larger than field limit (131072)
Exception ignored in: <bound method Workbook.__del__ of
<xlsxwriter.workbook.Workbook object at 0x7fff4e731470>>
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/xlsxwriter/workbook.py", line
153, in __del__
Exception: Exception caught in workbook destructor. Explicit close() may be
required for workbook.
【问题讨论】:
-
您是否尝试将csv文件直接导入Excel?
-
是的,我正在尝试将本地 csv 文件直接转换为 excel 文件
-
当你导入它直接形成Excel应用程序时它是否正确导入?
-
我找到了带有熊猫包的新代码,我的新代码现在运行良好 import pandas data = pandas.read_csv('Documents_2/AdvMedcsv.csv') data = data.groupby(lambda x: data ['research_id'][x]).first() writer = pandas.ExcelWriter('Documents_2/AdvMed.xlsx',engine='xlsxwriter') data.to_excel(writer) writer.save()
标签: python excel python-3.x csv xlsxwriter