所以我正在运行一个脚本,该脚本使用os.walk和os.path获取目录中所有文件的文件名。
然后使用“ open”和“ newline”将这些文件名写入csv。
显然,在完成的csv中,所有特殊字符,特别是ä,ü,ö,我唯一关心的字符,都完全搞砸了。
我已经将“ encoding ='UTF-8'”传递给“ write”,并将脚本开头的语言环境设置为德语。
我只是猜测os.walk和os.path将路径保存为混乱的字符串,这就是为什么我的方法无助于解决问题的原因。
那么如何强制这些命令以正确的字符编码返回字符串?
提前致以最诚挚的问候。
设置区域设置:
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
和工作代码:
for root, dirs, files in os.walk(PATH):
for file in files:
if not file.startswith('.'):
filepath = os.path.join(root, file)
if os.path.isfile(filepath):
csv_f.append([file])
with open("table.csv", 'w', encoding='UTF-8', newline='') as c:
writer = csv.writer(c)
writer.writerows(csv_f)
c.close()