2017-12-21 2 views
1

파이썬 코드를 사용하여 .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() 
+0

왜 xlsx를 대신 사용하지 않습니까? – bigbounty

+0

방금 ​​xlsx를 사용해 보았습니다. 내가보고있는 오류 : Excel 형식 또는 파일 확장명이 유효하지 않기 때문에 파일을 열 수 없습니다. 파일 이름이 손상되지 않았는지, 파일 확장명이 파일의 형식과 일치하는지 확인하십시오. – anvinder

+0

당신은 파이썬이나 엑셀을 통해 파일을 열려고합니까? – bigbounty

답변

2
다음

예는 xlsxwriter가 사용하고 : 첨부

코드입니다 나는 그것을 테스트했으며 잘 작동합니다.

+0

이것은 매우 좋지만 나는 단지 궁금하다.이 코드를 "open (Excelfile, 'w ', encoding ='utf8 ') w : [do : Excel에 쓰기] "open()"문과 함께 기존의 "일종의 코드"일종의? – FatihAkici

관련 문제