Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的xlrd、xlwt(如何复制整行)_Python_Excel_Copy_Row_Xlwt - Fatal编程技术网

python中的xlrd、xlwt(如何复制整行)

python中的xlrd、xlwt(如何复制整行),python,excel,copy,row,xlwt,Python,Excel,Copy,Row,Xlwt,理想情况下,我是从另一个excel工作表复制整行。因此,我的问题不是显示代码,而是从列表中的行开始,现在如何将其放入另一个excel工作表中?我希望它看起来完全一样。目标:采用任意一种数据格式,并将其放入空白excel工作表中,例如第1行。我希望这是一些快速,因为我计划扩大到10000行 数据可以采用以下任一格式: data = [number:6842.0, xldate:41771.0, xldate:0.005555555555555556, text:u'Hello Wo

理想情况下,我是从另一个excel工作表复制整行。因此,我的问题不是显示代码,而是从列表中的行开始,现在如何将其放入另一个excel工作表中?我希望它看起来完全一样。目标:采用任意一种数据格式,并将其放入空白excel工作表中,例如第1行。我希望这是一些快速,因为我计划扩大到10000行

数据可以采用以下任一格式:

data = [number:6842.0, xldate:41771.0, xldate:0.005555555555555556,
        text:u'Hello World']
data = [6842.0, 41771.0, 0.005555555555555556, u'Hello World']
我的代码:

import xlwt
wb = xlwt.Workbook()
data = [6842.0, 41771.0, 0.005555555555555556, u'Hello World'] #either format
sheet1 = wb.add_sheet("MyData")
sheet1.write(1,0,data)
wb.save('C:\\Python27\\helloworld.xls')
以下是我从excel文件中获取数据的方式:

from xlrd import *
import xlwt

book = open_workbook(filename= 'C:\Users\ssheikh\Desktop\CopyFile.xls')
sh = book.sheet_by_index(0)
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("MyData")

b = xldate.xldate_from_date_tuple((2014,5,12), 0) 
c = xldate.xldate_from_date_tuple((2014,5,13), 0)

mylist = []
listc = []
listd = []
for i in xrange(0,sh.nrows):
    if sh.cell_value(rowx=i, colx =1) == b:
        mylist.append(i)
        listd.append(sh.row_values(i))
        print 'the number', b ,'was found in row=', i, 'and column =0'


    if sh.cell_value(rowx=i,colx =1) == c:
        listc.append(i)
        listd.append(sh.row(i))

#mylist[0] #upper limit of my rows
#listc[-1] #lower limit of my rows
listd # this has all of my rows that i want to put in a new excel file

我在xlwt中没有看到任何
write\u row
方法,就像xlrd中有
row\u值一样。如果需要,只有一个或
write_rich_text
的工作表对象

for row_index, row in enumerate(listd):
   for col_index, cell_value in enumerate(row):
       sheet.write(row_index, col_index, cell_value)
workbook.save("myData.xls")

如果有特殊样式,您可以使用
write

的可选
style
参数,我不清楚您在问什么。如果您有许多具有相同格式的csv文件(相同的列..那么读取行和操纵行是很简单的-不需要使用xlrd/xlwt。如果需要确认列是相同的,那么您必须在示例中使用其他内容,您将丢失列标题。我有许多excel文件,在每个文件的B列中,我有2014年5月4日的所有日期。该文件包含大约10000行,因此我首先找出我要查找的日期第一次出现的确切位置。这给了我行,例如,它发生在第5000行。然后我知道现在获取该行下面的所有数据,并跳过前5000行。因此,这是一个excel文件。我列出了所有这些行。但现在我想获取这些数据,例如。第5000行到第6000行,并将它们放在新的excel文件中。我遇到的问题是,我似乎无法将这些数据放回另一个excel文件中。有帮助吗?因此,您显示的一段代码很有效,除了不知道如何将行列表
listd
写入工作表
sheet
?是的!:)没错,我不知道怎么把这整行列表放到一张纸上。