我是Hadoop开发的新手,在将具有多个工作表的excel 工作簿中的数据导出到HDFS时遇到了挑战? 我已经成功导出了单页工作簿,但是我卡在多张工作表中!数据为结构化形式。
我应该选择哪些选项?请指教...
非常感谢
最佳答案
您可以使用python包xlrd之类的东西对Excel工作表进行预处理。
像这样:
import xlrd
import csv
import sys
def csv_from_excel(input_file,output_file,sheet_index):
wb = xlrd.open_workbook(input_file)
sh = wb.sheet_by_index(sheet_index)
your_csv_file = open(output_file, 'wb')
wr = csv.writer(your_csv_file)
for rownum in xrange(sh.nrows):
row = []
for s in sh.row_values(rownum):
row.append(s)
wr.writerow(row)
your_csv_file.close()
您可能会定义一个UDF来进行此处理,因为我对此没有经验。在您开始M / R工作之前,我个人会使用类似这样的步骤作为预处理步骤。
关于hadoop - 如何将具有多个工作表的数据从Excel工作簿导出到Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218230/