无法打开在python代码中创建的excel文件
我使用python代码将一些.csv文件转换为.xls,但现在当我尝试打开这些文件时,会出现一个错误:“COUNT_DIST2.xls无法访问。该文件可能已损坏,位于没有响应的服务器上,或者是只读的”。 我在这个项目中创建了许多其他文件,它们都是.csv和.xls,但没有一个给我这个问题。我想在我的代码中的某个地方我可能做错了什么。我非常确定这不是网络错误或办公室错误,因为我可以打开所有其他文档 随函附上代码:无法打开在python代码中创建的excel文件,python,excel,csv,Python,Excel,Csv,我使用python代码将一些.csv文件转换为.xls,但现在当我尝试打开这些文件时,会出现一个错误:“COUNT_DIST2.xls无法访问。该文件可能已损坏,位于没有响应的服务器上,或者是只读的”。 我在这个项目中创建了许多其他文件,它们都是.csv和.xls,但没有一个给我这个问题。我想在我的代码中的某个地方我可能做错了什么。我非常确定这不是网络错误或办公室错误,因为我可以打开所有其他文档 随函附上代码: import pandas as pd import numpy as np fro
import pandas as pd
import numpy as np
from xlrd import open_workbook
from xlwt import Workbook
from xlutils.copy import copy
from openpyxl import load_workbook
import matplotlib.pyplot as plt
import xlwt
import os
path = ('C:\Users\PETERemote\PycharmProjects\untitled\distributions')
data = []
count =1
count2 = 0
for files in os.listdir(path):
if files.endswith("COUNT16_DISTRIBUTION" + str(count*1) + ".csv"):
count += 1
count2 = count-2
print(count2)
#print(count2 = count)
count3=1
file_name = "COUNT16_DISTRIBUTION" + str(count3*1) + ".csv"
while (count3<=count2):
with open(file_name) as f:
for line in f:
data.append([word for word in line.split(" ") if word])
wb = xlwt.Workbook()
output_file = open("COUNT16_DIST" + str(count3 * 1) + ".xls", 'w')
count3 += 1
sheet = wb.add_sheet("Sheet1")
for row_index in range(len(data)):
for col_index in range(len(data[row_index])):
sheet.write(row_index, col_index, data[row_index][col_index])
wb.save(output_file)
data = []
output_file.close()
将熊猫作为pd导入
将numpy作为np导入
从xlrd导入打开的\u工作簿
从xlwt导入工作簿
从xlutils.copy导入复制
从openpyxl导入加载工作簿
将matplotlib.pyplot作为plt导入
导入xlwt
导入操作系统
路径=('C:\Users\PETERemote\PycharmProjects\untitled\distributions')
数据=[]
计数=1
count2=0
对于os.listdir(路径)中的文件:
如果文件.endswith(“COUNT16_分布”+str(count*1)+“.csv”):
计数+=1
count2=count-2
打印(计数2)
#打印(count2=计数)
count3=1
file_name=“COUNT16\u分布”+str(count3*1)+“.csv”
while(count3下面是一个使用xlsxwriter的示例:
import os
import glob
import csv
from xlsxwriter.workbook import Workbook
for csvfile in glob.glob(os.path.join('.', '*.csv')):
workbook = Workbook(csvfile[:-4] + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'rt', 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()
仅供参考,还有一个名为openpyxl的包,可以读/写Excel
xlsx/xlsm文件,我已经测试过了,它运行良好。为什么不改用xlsx?我刚刚尝试了xlsx。我看到的错误是:excel无法打开该文件,因为格式或文件扩展名无效。请验证文件名是否已损坏,以及文件扩展名是否与文件格式匹配。是否尝试打开f通过python或excel创建ile?创建excel后,我手动前往该位置打开它,它会给出错误。但是,我还必须在其他函数中使用这些excel文件,目前我无法使用。奇怪的是,我没有遇到过类似的情况,尽管我使用了linux服务器。这很好,但我只是好奇:它是否有在现有的“with open()”语句中放置一个“with open(Excelfile,'w',encoding='utf8')作为w:[do:write into Excel]”这样的代码,可以使这段代码更整洁一些?