我正在运行下面的代码。除了在运行最后一行之后,我得到一个“TypeError:unsupported operand type for/:'str'和'int'”错误之外,一切都正常
事实证明,这个问题与一个特定的Excel单元格问题有关,这个问题似乎在我读入Python的+80文件中不止一个文件中普遍存在。有时,我正在读取的Excel文件中的某些单元格在Excel中显示为空,但不是空的(这可以通过ISBLANK()函数在Excel中进行检查)。读取和导入空单元格不是问题,但导入/读取空单元格为空但未通过Excel注册为空是问题
打开Excel文件并手动选择和删除单元格(该单元格显示为空,但在Excel中以非空的方式注册)似乎可以做到这一点。但是,我不想打开每个Excel文件并开始选择和删除空单元格以确保安全。还要注意的是,问题中的Excel单元格并不是只包含了一个空格(即“”),而是没有,所以问题似乎是其他的
如何使用Python/Pandas处理这个问题?我在this线程中尝试了所有的解决方案,但似乎没有任何效果
import openpyxl
import os
import pandas as pd
import time
from openpyxl import load_workbook
os.chdir('C://Files//Research')
directory = os.listdir('C://Files//Research')
df = pd.DataFrame()
start = time.time()
for file in directory:
if os.path.isfile(file):
file_name = file
workbook = load_workbook(filename = file, data_only=True)
sheet1 = workbook['3. ISO']
c5 = sheet1['C5'].value
c6 = sheet1['C6'].value
sheet11 = workbook['4. Survey Overview']
c10 = sheet11['C10'].value
c11 = sheet11['C11'].value
df = df.append(pd.DataFrame({
"File_name":file, "ISO":c5, "Output":c6,
"Nat":c10, "Urb": c11
}, index=[0]))
end = time.time()
print(end - start)
df['Output %'] = 100* (df['Output'] / df['Nat'])
目前没有回答
相关问题 更多 >
编程相关推荐