Запись значения списка в Excel - PullRequest
0 голосов
/ 17 января 2020

У меня есть список со значениями ниже:

print(list_Theme)
print(list_SubTheme)
print(list_Quote)

['Operating environment', 'Competitive advantage']
['Regional Demand', None]
["In China Cash flow from operating activities was $670 million, up 19%.ABB's regional and country order trends for the third quarter are illustrated on Slide 4.", 'Specifically, in the United States, our largest market, Electrification order growth was robust apart from large orders, whichhad a tough comparison base.']

Я хочу вывод в Excel, как показано ниже: enter image description here

Я написал приведенный ниже сценарий, но кто-то может указать, как реализовать то же самое?

 import xlsxwriter
 outWorkbook=xlsxwriter.Workbook("out.xlsx")
 outSheet=outWorkbook.add_worksheet()
 outSheet.write("A1","Theme")
 outSheet.write("B1","Sub-Theme")
 outSheet.write("C1","Quote")
 #row=0
 #col=0
 #I am stuck here on how to proceed? Should I use write_row? or Is there a better way?


 outWorkbook.close()

Ответы [ 2 ]

2 голосов
/ 17 января 2020

Существует много способов записи в файлы Excel, но при использовании xlsxwriter; позвольте мне использовать тот же подход для вас.

Вы можете попробовать этот код:

import xlsxwriter

letters = ['A', 'B', 'C']

data = [{'Theme':'Operating environment','Sub-Theme': 'Regional Demand','Quote':'In China Cash flow from operating activities was $670 million, up 19%.ABB\'s regional and country order trends for the third quarter are illustrated on Slide 4.'},{'Theme':'Competitive advantage','Sub-Theme': 'None','Quote':'Specifically, in the United States, our largest market, Electrification order growth was robust apart from large orders, which had a tough comparison base.'}]

FileName="Output.xlsx"
workbook = xlsxwriter.Workbook(FileName)
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})

header_col_name=['Theme','Sub-Theme','Quote']
for i in header_col_name:
      worksheet.write(''+letters[header_col_name.index(i)]+'1', i, bold)
i=2
for d in data:
     for j in header_col_name:
          worksheet.write(''+letters[header_col_name.index(j)]+ str(i), d[j])
     i=i+1
workbook.close()
1 голос
/ 17 января 2020

Вы можете попробовать:

import pandas as pd
import numpy as np

#Create a DataFrame
lists = {
    'list_Theme':['Operating environment', 'Competitive advantage'],
    'list_SubTheme':['Regional Demand', None],

       'list_Quote':["In China Cash flow from operating activities was $670 million, up 19%.ABB's regional and country order trends for the third quarter are illustrated on Slide 4.", 'Specifically, in the United States, our largest market, Electrification order growth was robust apart from large orders, whichhad a tough comparison base.']}

df = pd.DataFrame(lists,columns=['list_Theme','list_SubTheme','list_Quote'])

df.to_excel(r'Path where you want to store the exported excel file\File Name.xlsx')
...