Python 使用循环将大数据写入excel列单元格
正在分析.ts文件并从该文件中获取字符串。我想把那个字符串写到excel列。有人能帮我吗Python 使用循环将大数据写入excel列单元格,python,excel,pandas,xlsxwriter,Python,Excel,Pandas,Xlsxwriter,正在分析.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.ExcelW
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_字符串”,但在excel工作表中没有写入任何内容
我只想将字符串写入excel列。如何迭代行以及如何在迭代中给出行和列的编号
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的建议
通过
for
循环,每次迭代都会覆盖xlsx文件。在循环中构建Pandas数据框并在循环外写入xlsx文件,或者在循环外创建工作簿和工作表并在循环内写入数据,从而直接忽略Pandas并使用XlsxWriter。感谢您的回复。我尝试使用xlsxWriter,但也遇到了类似AttributeError的错误:“dict”对象没有属性“write”。您能告诉我如何将该字符串传递到数据帧吗?(外部循环还是内部循环?因为在每次迭代中都会出现一个字符串,所以我想将该字符串写入每个单元格。)