【问题标题】:Connecting data in python to spreadsheets将python中的数据连接到电子表格
【发布时间】:2017-11-23 02:35:46
【问题描述】:

我有一本 Python 2.7.9 字典。我想在电子表格中显示字典中的数据。我怎样才能做到这一点?请注意,字典里面有超过 15 个不同的项目。

字典:

{'Leda Doggslife': '$13.99', 'Carson Busses': '$29.95', 'Derri Anne Connecticut': '$19.25', 'Bobbi Soks': '$5.68', 'Ben D. Rules': '$7.50', 'Patty Cakes': '$15.26', 'Ira Pent': '$16.27', 'Moe Tell': '$10.09', 'Ido Hoe': '$14.47', 'Ave Sectomy': '$50.85', 'Phil Meup': '$15.98', 'Al Fresco': '$8.49', 'Moe Dess': '$19.25', 'Sheila Takya': '$15.00', 'Earl E. Byrd': '$8.37', 'Rose Tattoo': '$114.07', 'Gary Shattire': '$14.26', 'Len Lease': '$11.11', 'Howie Kisses': '$15.86', 'Dan Druff': '$31.57'}

【问题讨论】:

  • 到目前为止你尝试了什么?您在哪个特定部分遇到问题?你用谷歌搜索过“python 电子表格”吗?
  • 是的,我调查过了。它显示了我正在编写的 CSV 文件,但我无法让它为每个名称和价格添加一个新行。

标签: python csv dictionary


【解决方案1】:

您是否正在尝试在 Excel 电子表格中编写您的字典? 在这种情况下,您可以使用 win32com 库:

 import win32com.client
 xlApp = win32com.client.DispatchEx('Excel.Application')
 xlApp.Visible = 0
 xlBook = xlApp.Workbooks.Open(my_filename)
 sht = xlBook.Worksheets(my_sheet)
 row = 1
 for element in dict.keys():
     sht.Cells(row, 1).Value = element
     sht.Cells(row, 2).Value = dict[element]
     row += 1
 xlBook.Save()
 xlBook.Close()

请注意,仅当工作簿已存在时,此代码才会起作用。 否则:

 import win32com.client
 xlApp = win32com.client.DispatchEx('Excel.Application')
 xlApp.Visible = 0
 xlBook = xlApp.Workbooks.Add()
 sht = xlBook.Worksheets(my_sheet)
 row = 1
 for element in dict.keys():
     sht.Cells(row, 1).Value = element
     sht.Cells(row, 2).Value = dict[element]
     row += 1
 xlBook.SaveAs(mw_filename)
 xlBook.Close()

我希望这将是您问题的正确答案。

【讨论】:

  • 谢谢,我一定会试试的。但是,如果我更改字典并再次运行程序,它会更新现有的电子表格并添加数据,而不删除以前的数据吗?
  • Excel 文件中的数据将被覆盖。如果您想将数据附加到文件中的现有数据,您可以计算列长度并在该行之后开始写入。例如,您可以在行值初始化和 for 循环之间添加这两个代码行(while 循环): while sht.Cells(row, 1): row+=1
猜你喜欢
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 2011-10-25
  • 1970-01-01
相关资源
最近更新 更多