【发布时间】:2016-09-21 13:21:06
【问题描述】:
我是编程新手,自学 Python3。妻子让我为她制作一个脚本,该脚本将从 Excel 中读取数据,从一列中读取数据,并将每隔一行复制到另一列中。 她有一个 12k 行的 excel,格式为:row1=string, row2=(int/float/date/time), row3=string, row4=(int/float/date/time)...
我做的是这样的:
import xlrd
import xlwt
workbook = xlrd.open_workbook("MyExcel.xls")
sheet = workbook.sheet_by_index(0)
wb = xlwt.Workbook()
ws = wb.add_sheet("Sheet1")
i = 0
data = []
for i in range(sheet.nrows):
if i % 2 == 0:
value = sheet.cell(i, 0).value
data.append(value)
j = 0
for j in range(len(data)):
ws.write(j, 0, data[j])
j += 1
wb.save("MyOutput.xls")
它工作正常,但问题是它适用于字符串和整数,而不是日期或时间,它将它们转换为浮点数。 我只需要它“按原样”复制每个单元格的值,没有格式或任何东西,只需复制粘贴即可。如果单元格的值为:“monkey/73.0:blah”,我只想将其作为“monkey/73.0:blah”复制到新的 excel 中。
知道如何实现吗?
ps:我知道它可以在 excel 本身内实现,而不使用 python(带有 INDEX 和 ROWS),但我很好奇如何以这种方式传输数据作为正常的复制粘贴,而不是例如分割我的如果日期为 2016 年 1 月 1 日,则日期为浮点数。
谢谢
【问题讨论】: