python - 使用 pandas 保存带有扩展 ascii 分隔符的 csv 文件
问题描述
我有一个包含几乎所有基本 ascii 字符的文件,因此,要将其转换为有意义的 csv 以供我们的数据库导入,我已将计算机的默认列表分隔符更改为 ¬ (alt+170)。
如果我使用 excel 打开一个 xlsx,然后另存为 csv,程序就可以了。但是,如果我将 xlsx 或 csv 读入pandas
,然后调用(下面的代码),它会创建一个文件,其中包含两个字符来代替 ¬。
dataframe.to_csv(filepath, sep = '¬', index = False)
以 ¬ 分隔打开这些文件不起作用并在记事本中编辑它们会显示扩展的 ascii 字符 182,如下所示:
https ://theasciicode.com.ar/extended-ascii-code/letter-a-circumflex-accent-ascii -code-182.html
我怎样才能让它正确使用保存扩展的 ascii pandas
?
解决方案
使用 python unicode 字符来解决这个问题
import pandas as pd
df = pd.DataFrame({'column_1':['a','a','a','a','a','a','b','b','b','b','b','b','b','b','b','c','c','d','d']
,'column_2':[1,1,1,2,2,2,1,1,1,2,2,2,3,3,3,1,2,2,3]
})
df.to_csv('test.csv', sep = u'\xac', index = False)
现在这里 u'\xac' 是逻辑非运算符的 unicode
再读一遍
df2 = pd.read_csv('test.csv', sep = u'\xac')
这应该可以解决您的问题,因为您有一个可以使用所需字符读取和写入的数据帧,这全部采用 UTF-8 编码。如果您想使用其他编码,则取决于您。
顺便说一句,这是我获得编码映射的地方https://www.fileformat.info/info/unicode/char/00ac/index.htm
推荐阅读
- python - 无需线程即可同时运行 Kivy 和 DeepSpeech
- sql - 可以在 Entity Framework Core 中动态加入相关模型吗?
- asp.net - 带有剃须刀的引导轮播问题
- javascript - 当“元素不可交互”时如何使用 Selenium 将“值”设置为输入
- oracle19c - 有没有办法转置两个字符串并得到一个表格作为结果?
- java - 方法 insert(String, Pair
>) 对于 BSTMap 类型不明确 >> 错误 - qt - 如何在 qml 中将半径应用于 ApplicationWindow
- c# - 使用 Twilio 发送 Apple 静默推送通知
- swift - 扩展中符合protocl,如何初始化属性?
- python - 我什么时候应该考虑使用预训练模型 word2vec 模型权重?