Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法打开在python代码中创建的excel文件_Python_Excel_Csv - Fatal编程技术网

无法打开在python代码中创建的excel文件

无法打开在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

我使用python代码将一些.csv文件转换为.xls,但现在当我尝试打开这些文件时,会出现一个错误:“COUNT_DIST2.xls无法访问。该文件可能已损坏,位于没有响应的服务器上,或者是只读的”。 我在这个项目中创建了许多其他文件,它们都是.csv和.xls,但没有一个给我这个问题。我想在我的代码中的某个地方我可能做错了什么。我非常确定这不是网络错误或办公室错误,因为我可以打开所有其他文档

随函附上代码:

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]”这样的代码,可以使这段代码更整洁一些?