我编写的代码打开一个excel文件并遍历每一行并将值传递给另一个函数.
import openpyxl
wb = load_workbook(filename='C:\Users\xxxxx')
for ws in wb.worksheets:
for row in ws.rows:
print row
x1=ucr(row[0].value)
row[1].value=x1 # i am having error at this point
Run Code Online (Sandbox Code Playgroud)
我尝试运行该文件时收到以下错误.
TypeError: IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)
我可以写返回值x1的row[1]列.是否可以写入excel(即使用row[1])而不是访问单个单元格ws.['c1']=x1
我试图将retail_db数据库表复制到我已经创建的hive数据库中.当我执行以下代码时
sqoop import-all-tables \
--num-mappers 1 \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username=retail_dba \
--password=cloudera \
--hive-import \
--hive-overwrite \
--create-hive-table \
--outdir java_files \
--hive-database retail_stage
Run Code Online (Sandbox Code Playgroud)
我的Map-reduce作业因以下错误而停止:
ERROR tool.ImportAllTablesTool:遇到IOException运行导入作业:org.apache.hadoop.mapred.FileAlreadyExistsException:输出目录hdfs://quickstart.cloudera:8020/user/cloudera/categories已存在
我试图将表复制到hive数据库,然后为什么cloudera中的现有文件导致了问题.有没有办法忽略此错误或覆盖现有文件.
我尝试使用sqoop将所有表导入到其中一个目录中.但是其中一个表没有主键.这是我执行的代码.
sqoop import-all-tables --connect "jdbc:mysql://quickstart.cloudera/retail_db"
--username=retail_dba
--password=cloudera
--warehouse-dir /user/cloudera/sqoop_import/
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
导入期间出错:找不到表departments_export的主键.请使用--split-by指定一个或使用'-m 1'执行顺序导入.
通过在RDBMS中查看 没有主键的sqoop导入
我明白了,我们可以只使用--split-by单个表import.Is有什么办法可以指定--splity-by的Import-all-tables命令.有没有办法可以使用多个映射器进行多表导入而不使用主键.
我尝试在 python 中使用 string.punctuation 函数。我在 python 3.5 版本中这样做。这是我的以下代码:
import string
def check(text):
x=set(text.punctuation())
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
'str' object has no attribute 'punctuation'
Run Code Online (Sandbox Code Playgroud)
请帮助正确使用 this 的方法。我什至尝试使用 ispunct() 功能。
我尝试解决这个问题,如下面的链接所示,但无法弄清楚。
import ×2
python ×2
sqoop ×2
excel ×1
hive ×1
openpyxl ×1
primary-key ×1
punctuation ×1
python-3.x ×1
string ×1