我目前正在使用RapidMiner,我正在尝试将我的RapidMiner结果复制到xxtx文件中,以便使用python进行进一步处理。我在A栏(A1-A1500)中有明文,在C栏(C1-C1500)中也有相应的文件名。 现在我的问题: 是否有可能(我正在考虑xlrd模块)读取A列中每个单元格的内容并将其打印到新创建的txt文件中,文件名在相应的列C中给出?
因为我之前从未使用过xlrd模块,所以我现在有点迷失了......
答案 0 :(得分:3)
对于.xlsx处理的每个任务,我都可以推荐openpyxl。
根据您的要求:
from openpyxl import *
import os
p = 'path/to/the/folder/with/your/.xlsx'
files = [_ for _ in os.listdir(p) if _.endswith('.xlsx')]
for f in files:
wb = load_workbook(os.path.join(p, f))
ws = wb['name_of_sheet']
for row in ws.rows:
with open(row[2].value+'.txt', 'w') as outfile:
outfile.write(row[0].value)
答案 1 :(得分:0)
美好的一天!所以,我不确定我是否正确理解了您的问题,但您是否尝试过将Read Excel运算符与Loop Examples运算符结合使用?然后,您的循环子流程可以使用Write CSV运算符或类似操作。
答案 2 :(得分:0)
感谢@corinna,最终的代码是:
from openpyxl import *
import os
p = r'F:\Results'
files = [_ for _ in os.listdir(p) if _ .endswith('.xlsx')]
os.chdir(r"F:\Results")
for f in files:
file_location = load_workbook(os.path.join(p, f))
sheet = file_location['Normal']
for row in sheet.rows:
with open(row[2].value + '.txt', "w") as outfile:
outfile.write(row[0].value)