【问题标题】:Having Problems reading .xlsx and .csv files in Python using Pandas使用 Pandas 在 Python 中读取 .xlsx 和 .csv 文件时遇到问题
【发布时间】:2020-06-30 19:32:08
【问题描述】:

我打开并操作了一个 .csv 文件。它包含西里尔字母。当我尝试打开并将其保存为 .xlsx 文件时,出现错误。 当我保存新的 .csv 文件并打开它时,西里尔文脚本会变成随机字符,实际上无法读取(Ангел、ДимиС、СЉСЂ、Мария 等) You can see what i get as a result

我该怎么办?

【问题讨论】:

  • 这能回答你的问题吗? How to write Russian characters in file?
  • 这看起来很像编码问题。我不能给你一个直接的答案,但我肯定会在文档中查看如何处理和保留 UTF-8 编码。顺便说一句,如果您发布代码,它肯定会有所帮助。然后其他人可以尝试重现您的(错误)结果。
  • 如果您在 Excel 中查看文件,请至少将 encoding='utf-8-sig' 用于 CSV。显示您的代码!

标签: python csv xlsx


【解决方案1】:

这两个输出文件都在 Excel 中正确打开。请注意,.to_excel() 需要额外的 Python 包来编写 Excel 文件。我用pip install openpyxl

输入.csv:

Колонка1,Колонка2,Колонка3
Раз,два,три

代码:

import pandas as pd

data = pd.read_csv('input.csv',encoding='utf-8-sig') # or whatever the actual encoding
data.to_csv('output.csv',encoding='utf-8-sig')
data.to_excel('output.xlsx',encoding='utf-8-sig')

仅供参考,.to_csv() 没有单独使用 utf8,但 .to_excel() 可以。

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多