转码问题:现从指定路径下载TXT(ascii码),须转换成utf8读取至sql

somepeople 2019-02-12 08:38:52
现在Ascii码的 txt文件,须读取至sql数据库
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 11 16:36:01 2019
"""
import os
for info in os.listdir(os.path.abspath('.')):
if('txt' in info):#读文件夹下的 txt 文件,txt是 ascii 码
info = open(info,'r')
for line2 in info.readlines():
print(line2)
info.close()

请问该如何转换呢?拜托了
...全文
327 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
somepeople 2019-02-15
  • 打赏
  • 举报
回复
引用 7 楼 陈年椰子 的回复:
编码的问题, 1、先确认提示出错的位置是否是你print语句 的位置。 2、如果从txt 文本读文件或者读数据库文件。 先要确认读进来的数据编码是什么。源头要搞清楚。 3、windows 控制台下, 文件系统都是gbk 编码。 如果原来已经是 'utf-8'编码了, 那这样试试。 print(line2.decode('utf-8').encode('gbk'))
经过在多行设置 print 进行调试,发现了差错所在地方,现代码改为如下,可以运行了。原来是 open 的时候出了问题。感谢! # -*- coding: utf-8 -*- """ Created on Mon Feb 11 16:36:01 2019 """ import os for info in os.listdir(os.path.abspath('.')): if('txt' in info):#读文件夹下的 txt 文件,txt是 ascii 码 info = open(info,'r',encoding='gbk') #在python的环境,与生成 exe后在win的环境的读码方式可能不一样吧 for line2 in info.readlines(): print(line2) info.close()
陈年椰子 2019-02-13
  • 打赏
  • 举报
回复
编码的问题,
1、先确认提示出错的位置是否是你print语句 的位置。

2、如果从txt 文本读文件或者读数据库文件。 先要确认读进来的数据编码是什么。源头要搞清楚。
3、windows 控制台下, 文件系统都是gbk 编码。

如果原来已经是 'utf-8'编码了, 那这样试试。
print(line2.decode('utf-8').encode('gbk'))
somepeople 2019-02-13
  • 打赏
  • 举报
回复
引用 4 楼 陈年椰子 的回复:
[quote=引用 3 楼 somepeople 的回复:] [quote=引用 2 楼 陈年椰子 的回复:] print(line2.encode('utf-8'))
感谢您的回复,在python环境下,使用本人代码能显示对应内容;使用您所说的加了 encode('utf-8')后,能显示转码后的内容。 使用本人或您的代码,生成EXE后,均无法显示。显示......DecodeError 'utf-8' codec can't decode.........[/quote] exe 那是windows下, 一般是用gbk编码才能正常显示汉字。 就是这几种编码互相转换。[/quote] 您好,修改如下: print(line2.encode('gbk')) ,仍是不行
somepeople 2019-02-12
  • 打赏
  • 举报
回复
引用 2 楼 陈年椰子 的回复:
print(line2.encode('utf-8'))
感谢您的回复,在python环境下,使用本人代码能显示对应内容;使用您所说的加了 encode('utf-8')后,能显示转码后的内容。 使用本人或您的代码,生成EXE后,均无法显示。显示......DecodeError 'utf-8' codec can't decode.........
陈年椰子 2019-02-12
  • 打赏
  • 举报
回复
print(line2.encode('utf-8'))
陈年椰子 2019-02-12
  • 打赏
  • 举报
回复
print(line2.encodeing('utf8'))

这个意思?
somepeople 2019-02-12
  • 打赏
  • 举报
回复
引用 4 楼 陈年椰子 的回复:
[quote=引用 3 楼 somepeople 的回复:] [quote=引用 2 楼 陈年椰子 的回复:] print(line2.encode('utf-8'))
感谢您的回复,在python环境下,使用本人代码能显示对应内容;使用您所说的加了 encode('utf-8')后,能显示转码后的内容。 使用本人或您的代码,生成EXE后,均无法显示。显示......DecodeError 'utf-8' codec can't decode.........[/quote] exe 那是windows下, 一般是用gbk编码才能正常显示汉字。 就是这几种编码互相转换。[/quote] 再次感谢,我改为gbk试试,试完再回复您
陈年椰子 2019-02-12
  • 打赏
  • 举报
回复
引用 3 楼 somepeople 的回复:
[quote=引用 2 楼 陈年椰子 的回复:]
print(line2.encode('utf-8'))

感谢您的回复,在python环境下,使用本人代码能显示对应内容;使用您所说的加了 encode('utf-8')后,能显示转码后的内容。
使用本人或您的代码,生成EXE后,均无法显示。显示......DecodeError 'utf-8' codec can't decode.........[/quote]
exe 那是windows下, 一般是用gbk编码才能正常显示汉字。
就是这几种编码互相转换。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧