Объект 'float' не является итерируемым, ошибка типаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Объект 'float' не является итерируемым, ошибка типа

Сообщение Anonymous »

Я написал сценарий, который берет большую таблицу данных Excel и удаляет ненужные столбцы, строки, содержащие нулевые значения в определенных столбцах, а затем сохраняет их в CSV. Я застрял в том, что я также пытаюсь удалить строки, в которых отсутствуют ячейки. Я пытался это сделать следующим образом:

for each_row in row_list :
if not all(map(len, each_row)) :
continue
else :
UICData.append(row_list)


Но это работает неправильно, поскольку я получаю сообщение об ошибке:


Файл
"/Users/kenmarold/PycharmProjects/sweetCrude/Work/sweetCrude.py",

строка
56, в AcceptRawData

if not all(map(len,each_row)) :

Ошибка типа: объект 'float' не повторяется


Я не совсем уверен, как это решить, каковы дальнейшие действия? Я также прикрепил полный сценарий ниже.

#!/usr/bin/env python3
import os
import sqlite3
import csv
import unicodecsv
from datetime import date
from xlrd import open_workbook, xldate_as_tuple
from xlwt import Workbook

orig_xls = 'data/all_uic_wells_jun_2016.xls'
temp_xls = 'data/temp.xls'
new_csv = 'data/gh_ready_uic_well_data.csv'
temp_csv = 'data/temp.csv'

input_worksheet_index = 0 # XLS Sheet Number
output_workbook = Workbook()
output_worksheet = output_workbook.add_sheet('Sweet Crude')
lat_col_index = 13
long_col_index = 14

#### SELECT AND FORMAT DATA

def PrepareRawData(inputFile, tempXLSFile, tempCSVFile, outputFile):

# 0 = API# # 7 = Approval Date
# 1 = Operator # 13 = Latitude
# 2 = Operator ID # 14 = Longitude
# 3 = Well Type # 15 = Zone

keep_columns = [0, 1, 2, 3, 7, 13, 14, 15]

with open_workbook(inputFile) as rawUICData:
UICSheet = rawUICData.sheet_by_index(input_worksheet_index)
UICData = []

for each_row_index in range(1, UICSheet.nrows - 1, 1):
row_list = []

lat_num = UICSheet.cell_value(each_row_index, lat_col_index) # Get Lat Values
long_num = UICSheet.cell_value(each_row_index, long_col_index) # Get Long Values

if lat_num != 0.0 and long_num != 0.0: # Find Zero Lat/Long Values

for each_column_index in keep_columns:
cell_value = UICSheet.cell_value(each_row_index, each_column_index)
cell_type = UICSheet.cell_type(each_row_index, each_column_index)

if cell_type == 3:
date_cell = xldate_as_tuple(cell_value, rawUICData.datemode)
date_cell = date(*date_cell[0:3]).strftime('%m/%d/%Y')
row_list.append(date_cell)
else:
row_list.append(cell_value)

for each_row in row_list :
if not all(map(len, each_row)) :
continue
else :
UICData.append(row_list)

# CreateDB(row_list) # Send row data to Database

for each_list_index, output_list in enumerate(UICData):

for each_element_index, element in enumerate(output_list):
output_worksheet.write(each_list_index, each_element_index, element)

output_workbook.save(tempXLSFile)

#### RUN XLS-CSV CONVERSION

workbook = open_workbook(tempXLSFile)
sheet = workbook.sheet_by_index(input_worksheet_index)
fh = open(outputFile, 'wb')
csv_out = unicodecsv.writer(fh, encoding = 'utf-8')

for each_row_number in range(sheet.nrows) :
csv_out.writerow(sheet.row_values(each_row_number))

fh.close()

#### KILL TEMP FILES

filesToRemove = [tempXLSFile]
for each_file in filesToRemove:
os.remove(each_file)
print("Raw Data Conversion Ready for Grasshopper")

# ---------------------------------------------------
PrepareRawData(orig_xls, temp_xls, temp_csv, new_csv)
# ---------------------------------------------------


Подробнее здесь: https://stackoverflow.com/questions/413 ... e-typerror
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Объект «Колба» не является итерируемым | Лямбда AWS с использованием Zappa
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • TypeError: объект «Piecewise» не является итерируемым
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Аргумент кода метрики речи типа «NoneType» не является итерируемым
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Pos arg 1 из тип не совпадает с параметром типа
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Типизация Python для вложенного итератора в списке объектов с итерируемым свойством
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»