I get the following error with the this script because of the ß in filename: Weißstorch.shp. Any ideas how to solve this? Python 2.7.10
# -*- coding: utf-8 -*-
import os, time, xlwt
import xlrd
from xlrd import open_workbook
myPath = r"R:\Daten\geo_daten\Arten\2015_SIC\LUBW_Weissstorch_Horststandorte"
SHPCounter = 0
MyList = list()
Zusammengef = r"C:\temp_Geodatenverzeichnis\Nutzung.xls"
for path, dirs, files in os.walk(myPath):
for file in files:
if file.lower().endswith('.shp'):
print path + "\\" + file
SHPCounter += 1
print SHPCounter
accessTime = os.path.getatime(os.path.join(path, file)) # last access time
actualTime = time.time()
MyList.append(path + "\\" + file + "___" + file + "___" + ("""{}
""".format(int((actualTime - accessTime)/3600))))
# Write in excel
data = []
for line in MyList:
data.append([word for word in line.split("___") if word])
print data
wb = xlwt.Workbook()
sheet = wb.add_sheet("NichtGenutzt")
for row_index in range(len(data)):
for col_index in range(len(data[row_index])):
sheet.write(row_index, col_index, data[row_index][col_index])
wb.save(Zusammengef)
Error Message and print statements:
R:\Daten\geo_daten\Arten\2015_SIC\LUBW_Weissstorch_Horststandorte\LUBW_Weißstorch_Horststandorte_E.shp
1
[['R:\\Daten\\geo_daten\\Arten\\2015_SIC\\LUBW_Weissstorch_Horststandorte\\LUBW_Wei\xdfstorch_Horststandorte_E.shp', 'LUBW_Wei\xdfstorch_Horststandorte_E.shp', '1551\n ']]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xdf in position 74: ordinal not in range(128)
Solved! Go to Solution.
You have to decode the filename first to get it to run and write the filenames to the list.
You have to decode the filename first to get it to run and write the filenames to the list.