gpt4 book ai didi

python - Pandas :保存到 excel 编码问题

转载 作者:太空狗 更新时间:2023-10-29 21:39:19 25 4
gpt4 key购买 nike

我遇到了与提到的问题类似的问题 here但是建议的方法都不适合我。

我有一个中等大小的 utf-8 .csv 文件,其中包含很多非 ascii 字符。我将文件按其中一列的特定值拆分,然后我想将每个获得的数据帧保存为 .xlsx 文件,并保留字符。

这不起作用,因为我收到一个错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 7: ordinal not in range(128)

这是我尝试过的:

  1. 明确使用xlsxwriter 引擎。这似乎没有任何改变。
  2. 定义一个函数(如下)来更改编码并丢弃不良字符。这也不会改变任何东西。

    def changeencode(data):
    cols = data.columns
    for col in cols:
    if data[col].dtype == 'O':
    data[col] = data[col].str.decode('utf-8').str.encode('ascii', 'ignore')
    return data
  3. 手动将所有攻击性字符更改为其他字符。仍然没有效果(引用的错误是在这个变化之后得到的)。

  4. 将文件编码为 utf-16(我相信这是正确的编码,因为我希望之后能够从 excel 中操作文件)没有帮助要么。

我认为问题出在文件本身(因为 2 和 3),但我不知道如何解决它。我将不胜感激任何帮助。文件的开头粘贴在下面。

"Submitted","your-name","youremail","phone","miasto","cityCF","innemiasto","languagesCF","morelanguages","wiek","partnerCF","messageCF","acceptance-795","Submitted Login","Submitted From","2015-12-25 14:07:58 +00:00","Zózia kryś","test@tes.pl","4444444","Wrocław","","testujemy polskie znaki","Polski","testujemy polskie znaki","44","test","test","1","Justyna","99.111.155.132",

编辑

一些代码(其中一个版本,没有拆分部分):

import pandas as pd
import string
import xlsxwriter

df = pd.read_csv('path-to-file.csv')

with pd.ExcelWriter ('test.xlsx') as writer:
df.to_excel(writer, sheet_name = 'sheet1',engine='xlsxwriter')

最佳答案

据说这是我当时使用的 pandas 版本中的一个错误。现在,在 pandas 版本中。 0.19.2,下面的代码毫无问题地保存了问题中的 csv(并且编码正确)。
注意:openpyxl 模块必须安装在您的系统上。

import pandas as pd
df = pd.read_csv('Desktop/test.csv')
df.to_excel('Desktop/test.xlsx', encoding='utf8')

关于python - Pandas :保存到 excel 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34485982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com