我试图从一个CSV文件生成多个excel文件,但生成几个文件后出现以下错误:
UnicodeDecodeError:'ascii'编解码器无法解码位置8中的字节0xc3:序号不在范围内(128)
这个错误是在生成几个文件后出现的,我不确定是否有任何具体的文件或任何问题的代码,请帮助
代码如下:
#!/usr/bin/env python
# coding: utf-8
import pandas as pd
import pandas.io.formats.excel
pandas.io.formats.excel.header_style = None
class AdvertiserList(object):
def __init__(self, input_file):
self.input_file = input_file
self.file_csv = None
self.writer = None
self.path = None
def read_csv(self):
file_csv = pd.read_csv(self.input_file)
file_csv_br = file_csv[file_csv['Market'] == 'BR']
file_csv = file_csv.drop(file_csv_br.index, axis=0)
self.file_csv = file_csv
def generate_multiple_file(self):
df_by_market = self.file_csv.groupby('Market')
self.path = "C://Adops-Git//Files//"
for(market, market_df) in df_by_market:
self.writer = pd.ExcelWriter(self.path + "{}.xlsx".format(market), engine="xlsxwriter")
# file_name = self.writer
market_df.to_excel(self.writer, index=False)
self.writer.save()
self.writer.close()
def main(self):
self.read_csv()
self.generate_multiple_file()
if __name__ == "__main__":
object_advertiser = AdvertiserList('C://Adops-Git//Files//Account_&_Advertisers_List_data.csv')
object_advertiser.main()
试试看
直接使用默认的xlsx编写器,该编写器本机支持unicode
另外,如果没有编码参数选项,那么从注释中可以看出,您可能使用的是熊猫的过时版本。你知道吗
相关问题 更多 >
编程相关推荐