파이썬 코드를 사용하여 .csx 파일을 .xls로 변환했지만 현재 파일을 열려고하면 오류가 발생합니다. "COUNT_DIST2.xls에 액세스 할 수 없습니다. 파일 손상되었거나 서버가 응답하지 않거나 읽기 전용 인 경우 "입니다. 이 프로젝트에서 .csv와 .xls 둘 다 많은 다른 파일을 만들었지 만 그 중 누구도 내게이 문제를 안겨주고 있습니다. 내 코드 어딘가에 내가 뭔가 잘못하고있는 것 같아. 나는 다른 모든 문서를 열 수 있기 때문에 이것이 네트워크 오류 또는 사무실 오류가 아니라고 확신합니다. 읽을 수/쓰기 엑셀 XLSX/XLSM 파일을 참고하시기 바랍니다파이썬 코드에서 생성 된 엑셀 파일을 열 수 없습니다.
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라는 패키지가 :
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()
왜 xlsx를 대신 사용하지 않습니까? – bigbounty
방금 xlsx를 사용해 보았습니다. 내가보고있는 오류 : Excel 형식 또는 파일 확장명이 유효하지 않기 때문에 파일을 열 수 없습니다. 파일 이름이 손상되지 않았는지, 파일 확장명이 파일의 형식과 일치하는지 확인하십시오. – anvinder
당신은 파이썬이나 엑셀을 통해 파일을 열려고합니까? – bigbounty