在jupyter notes中,我可以运行一个奇怪的错误:
df1.to_csv("{0}{1}.csv".format(report_path,db))
我的csv很好。
当我尝试在jupyter之外执行相同的操作时,请将上述内容放入一个文件,一个外部文件,然后运行以下命令:
import pandas as pd
from pandas import DataFrame,Series
import numpy as np
from pyhive import presto
import matplotlib.pyplot as plt
import seaborn as sn
def run_config(db):
print args.an
print ("config is = {0}".format(config))
with open(config) as cfg:
v = cfg.read()
exec v
我收到以下错误:
lib.write_csv_rows(self.data, ix, self.nlevels, self.cols, self.writer)
File "pandas/_libs/lib.pyx", line 1035, in pandas._libs.lib.write_csv_rows
UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-11: ordinal not in range(128)
我很确定是我的DF中的某些东西导致了这个错误,因为其他DF没有这个问题。但我不知道如何修复或编辑代码来捕获这一点。
修复
df1.to_csv("{0}{1}.csv".format(report_path,db), encoding='utf8-8')