Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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_Xml_Pandas_Dataframe - Fatal编程技术网

Python Excel错误可能是由大熊猫书写或大数据引起的?必要的建议

Python Excel错误可能是由大熊猫书写或大数据引起的?必要的建议,python,excel,xml,pandas,dataframe,Python,Excel,Xml,Pandas,Dataframe,我正在读取多个xml文件,提取一些数据,然后用我的数据形成一个数据框架。以下是我所做的主要步骤: 打开一个xml文件 提取一些元素 使用提取的元素创建数据帧 将结果附加到名为“output.xlsx”的excel文件中(使用下面的python代码) 对我拥有的所有xml文件重复我的步骤(15gb初始数据,通常有100MB有价值的文本数据) 这是我在输出excel文件中附加数据帧的python代码: book = load_workbook('output.xlsx') writer = pd.E

我正在读取多个xml文件,提取一些数据,然后用我的数据形成一个数据框架。以下是我所做的主要步骤:

  • 打开一个xml文件
  • 提取一些元素
  • 使用提取的元素创建数据帧
  • 将结果附加到名为“output.xlsx”的excel文件中(使用下面的python代码)
  • 对我拥有的所有xml文件重复我的步骤(15gb初始数据,通常有100MB有价值的文本数据)

    这是我在输出excel文件中附加数据帧的python代码:

    book = load_workbook('output.xlsx')
    writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
    writer.book = book
    writer.sheets = {ws.title: ws for ws in book.worksheets}
    startrow = writer.sheets['Sheet1'].max_row
    output.to_excel(writer, startrow=startrow,index = False, header = False)
    writer.save()
    
    当我在Excel中打开“output.xlsx”时,我收到一条提示消息,“我们发现“output.xlsx”中的某些内容存在问题。是否希望我们尝试尽可能多地恢复?”回答是或否

    这是excel生成的日志文件:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> 
    <logFileName>error001280_01.xml</logFileName><summary>Errors were detected in 
     file 'D:\JUPYWORKDIR\2009Results\output.xlsx'</summary><repairedRecords> 
    <repairedRecord>Repaired Records: String properties from /xl/worksheets/sheet1.xml part
    </repairedRecord></repairedRecords></recoveryLog>
    
    
    error001280_01.xml在中检测到错误
    文件“D:\JUPYWORKDIR\2009Results\output.xlsx”
    修复的记录:来自/xl/worksheets/sheet1.xml部分的字符串属性
    
    我担心将我的结果保存到excel格式会破坏我的数据,我将来会用pandas阅读“output.xlsx”,以便进行一些数据分析,这个问题会影响我将来的分析吗?我想知道为什么会产生这个问题,我应该将数据保存在CSV中吗?有什么建议吗


    Ps.使用python代码检查“output.xlsx”的最后一行在数据框中导入excel文件时,行数相同,最后检查“恢复文件”的最后一行对于Microsoft excel,我仍然发现相同数量的行,因此我认为这是Microsoft excel的一个一般性错误,因为数据太大,但我不确定

    我认为这是excel处理大数据的一个问题,因为我用open office电子表格打开了文件,但没有显示任何错误

    我也有同样的问题,并且至少花了一个小时搜索以修复它时,只有1个更改,它得到了修复。请尝试使用writer.close()而不是writer.save(),这样可以解决问题

    修改了上述代码:

    options = {}
    options['strings_to_formulas'] = False
    options['strings_to_urls'] = False
    book = load_workbook('output.xlsx')
    writer = pd.ExcelWriter('output.xlsx', engine='openpyxl',options=options)
    writer.book = book
    writer.sheets = {ws.title: ws for ws in book.worksheets}
    startrow = writer.sheets['Sheet1'].max_row
    output.to_excel(writer, startrow=startrow,index = False, header = False)
    writer.close()
    

    我这里也有。用LibreOffice打开时没有任何错误。但是整个Excel文件重684KB,有两张纸,最长的一张是4000行。这并不是真正的大数据。