我正在将一个CSV文件转换成一个SQL查询,我有这个输出。你能推荐一下如何避免这个麻烦吗
我的代码是:
import csv
import unicodedata
openFile = open('region_mapping.csv', 'r')
csvFile = csv.reader(openFile)
header = next(csvFile)
headers = map((lambda x: '`'+x+'`'), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) + ") VALUES "
for row in csvFile:
values = map((lambda x: '"'+x+'"'), row)
print (insert +"("+ ", ".join(values) +");" )
openFile.close()
输出:
INSERT INTO toolbox.region ( province_name;min_order_price;region_name ) VALUES ( '��������� ����;10000;4 ���� (��������� ������)' );
该文件的一个示例是:
province_name,min_order_price,region_name
Алтайский край,10000,4 зона (Восточная Сибирь)
为文件添加正确的编码可以正确打印,但是“正确打印”假定使用适当的控制台或IDE编码以及带有可用字符的字体。如果使用Windows,我建议使用python3.6。它修复了打印到控制台的问题,但是您仍然需要支持打印字符的字体
注意:您的文件编码可能会有所不同。除非提供文件内容的hexdump,否则很难判断。由于您没有收到UnicodeDecodeError,您可能有正确的编码,但不支持西里尔文的错误字体或标准输出编码
输入:
输出:
输出与您的不匹配,因此我怀疑不是所显示代码的输出,或者不是您使用的确切代码
相关问题 更多 >
编程相关推荐