2013-06-19 150 views
-1

如何打开现有的excel文件,写入并将其保存为相同的文件名。以前的数据都不应该丢失,应该保存新的数据。打开excel文件并写入python

的伪代码将是如下:

open excel file 
write data to last row 
save excel file 
+1

什么文件格式? .csv会起作用吗? – mitchfish36

+0

@ mitchfish36只要没有数据丢失,excel的任何文件格式都可以工作 – user1681664

+0

取决于 - 一些库默默丢弃数据,如图表/图表/数据透视表等等/格式等等。所以你需要考虑到这一点以及... –

回答

4

如果您愿意使用CSV格式(具有明显的局限性),你可以使用Python的内置CSV library

这里是一个简短的读者例如:

>>> import csv 
>>> with open('eggs.csv', 'rb') as csvfile: 
...  spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
...  for row in spamreader: 
...   print ', '.join(row) 
Spam, Spam, Spam, Spam, Spam, Baked Beans 
Spam, Lovely Spam, Wonderful Spam 

作家例如:

import csv 
with open('eggs.csv', 'a') as csvfile: 
    spamwriter = csv.writer(csvfile, delimiter=',', 
          quotechar='|', quoting=csv.QUOTE_MINIMAL) 
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans']) 
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 

记住与CSV,你只能修改电子表格数据,没有花哨的图形或任何东西。

+0

这很好,但它会覆盖现有的行。此外,一切都写入1个单元格 – user1681664

+0

@ user1681664我编辑了示例代码以符合条件。另外:如果您正在查看电子表格,请将分隔符设置为','。 – mitchfish36

+0

这就是为什么你是男人 – user1681664