如何从Excel中读取和提取数据并使用Python将其粘贴到文本文件中的现有文本中?

时间:2017-02-14 09:28:11

标签: python excel openpyxl xlrd

我想自动创建多个文本文件,其中包含我存储在一个excel文件中的一些信息。 excel文件存储了大量信息,每行有几个单元格,每个主题的信息都写在不同的文本文件中。来自excel文件的数据应该粘贴在文本文件中写入的文本之间(参见下面的代码)。

我已经编写了一个代码,用于在每个文本文件中写入我需要的其他信息,但我不知道如何将数据从excel传输到文本文件中:

import xlrd

file = open("testfile.txt", "w")

file.write("text1.\n")

file.write("text2\n")

file.write("text3\n")

file.write("text4\n")

wb = xlrd.open_workbook(r"C:Data.xls")

我不知道如何继续代码让它循环遍历excel文件,逐行,提取一些数据,将其粘贴到文本文件中的文本中,关闭文本文件并打开一个新文件一个并做同样的事。

所以文本文件应该看起来像这样:

text1 copied data from excel1

text2 copied data from excel2

text3 copied data from excel3

等...

有人能帮助我吗?如果这是基本的,我很抱歉,我是python的新手。使用Python 3.4.1

1 个答案:

答案 0 :(得分:1)

我会这样做:

import xlrd
xlsfilename='test.xlsx'
test = xlrd.open_workbook(xlsfilename)
number_subjetcs=50 # assuming it is known, otherwise you need a 'foreach line' loop
number_columns=3 # assuming it is known...
for row in range(number_subjetcs): 
    txtfilename = 'testfile' + str(row) + '.txt'
    with open(txtfilename, "w") as f:
        for col in range(number_columns):
            s1 = 'text' + str(col+1) + ' : '
            f.write(s1)
            # assuming there is only 1 sheet in the excel file
            val = test.sheets()[0].cell(row,col).value
            s2 = str(val) + '\n'
            f.write(s2)