代码之家  ›  专栏  ›  技术社区  ›  griez007

使用循环将大数据写入excel列单元格

  •  2
  • griez007  · 技术社区  · 7 年前

    正在分析。ts文件并从该文件中获取字符串。我想将该字符串写入excel列。有人能帮我吗?

    from xml.dom import minidom
    import sys, xlsxwriter
    import pandas as pd
    import numpy as np
    
    reload(sys)
    sys.setdefaultencoding('utf-8')
    doc = minidom.parse("english.ts")
    
    
    def main():
        writer = pd.ExcelWriter('new.xlsx', engine='xlsxwriter')
        messages = doc.getElementsByTagName("message")
        for message in messages:
            source = message.getElementsByTagName("source")[0]
            ori_string = source.firstChild.data
            print ori_string
            df = pd.DataFrame({'TString': [ori_string]})
            writer = pd.ExcelWriter('new.xlsx', engine='xlsxwriter')
            df.to_excel(writer, sheet_name='Sheet1')
            writer.save()
    
    
    if __name__ == '__main__':
        main()
    

    我没有收到错误,正在打印“ori\u字符串”,但在excel工作表中没有写入任何内容。

    我只想将字符串写入excel列。如何迭代行以及如何在迭代中给出行和列的编号?

    1 回复  |  直到 7 年前
        1
  •  2
  •   griez007    7 年前
    from xml.dom import minidom
    import sys, xlsxwriter
    
    reload(sys)
    sys.setdefaultencoding('utf-8')
    doc = minidom.parse("english.ts")
    
    
    def main():
        row = 0
        messages = doc.getElementsByTagName("message")
        workbook = xlsxwriter.Workbook('data3.xlsx')
        worksheet = workbook.add_worksheet()
        for message in messages:
            source = message.getElementsByTagName("source")[0]
            ori_string = source.firstChild.data
            print ori_string
            worksheet.write(row, 0, ori_string)
            row += 1    
        workbook.close()
    

    现在开始工作了,谢谢DavidG的建议。