【问题标题】:Save array of strings in an excel table using python使用python将字符串数组保存在excel表中
【发布时间】:2017-04-24 11:56:18
【问题描述】:

我有一个人员列表,每个人都用字符串数组表示:

person1=["amy","fisher",34,"teacher"]
person2=["john","wayne",45,"astronaut"]

我想将人员列表保存在 Excel 表格中并作为标题:

name family_name   age  profession
amy  fisher        34   teacher

【问题讨论】:

  • 那么,你有什么尝试?
  • 我设法获得了另一个使用 numpy 的示例,但在那个示例中我只使用了整数。如果你愿意,我可以向你展示代码。

标签: python arrays string python-2.7


【解决方案1】:
import pandas as pd
person1=["amy","fisher",34,"teacher"]
person2=["john","wayne",45,"astronaut"]
#construct a pandas dataframe
df = pd.DataFrame(columns=['name','family_name','age','profession'], data=[person1,person2])
#write it to an excel file
df.to_excel('output.xls',index=False)

【讨论】:

  • 但是,如果我有1000个人,我应该如何修改代码?
  • 你的 1000 人是如何存储的?它们是在列表还是文件中?
  • 其实他们在一个列表中
  • 列表的格式是什么?是不是像这样 [["amy","fisher",34,"teacher"],["john","wayne",45,"astronaut"]]?
  • 是的,看起来一模一样
【解决方案2】:

这可以使用xlwt 库来完成,您可以使用pip install xlwt 安装它。

import xlwt

headers = ['name', 'family_name', 'age', 'profession']
persons = [["amy", "fisher", 34, "teacher"],
           ["john", "wayne", 45, "astronaut"]]

# font style
style0 = xlwt.easyxf('font: name Times New Roman, color-index black, bold on')

wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')

# write headers
for index, value in enumerate(headers):
    ws.write(0, index, value, style0)

# write data
for row, person in enumerate(persons):
    for index, value in enumerate(person):
        ws.write(row+1, index, value)       

wb.save('persons.xls')

这将创建您想要的 excel 文件。

【讨论】:

    猜你喜欢
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    相关资源
    最近更新 更多