首页 > 解决方案 > 如何在 Pandas 中使用 quotechar 从 DAT 文件中读取和写入 thorn 字符?

问题描述

请在下面查看我的代码。代码按预期工作,但输出 DAT 文件缺少 þ(拉丁小写字母刺)字符。

import pandas as pd

inputdat = "C:/Downloads/Python/SAMPLEDATA.dat"
outputdat = "C:/Downloads/Python/Output.dat"

colnames = ["ID", "Company", "Employee", "Salary", 'Years']
df = pd.read_csv(inputdat, names = colnames, header = None, skiprows = 1, encoding='UTF-8', quotechar='\xfe', sep='\x14', engine='python')
filter = ['UID_001', 'UID_002']

df.loc[df.ID.isin(filter), ['Salary', 'Years']] = ""

df.to_csv(outputdat, quotechar='\xfe', sep='\x14', index=False, encoding='UTF-8')

如何确保 thorn 符号包含在输出 dat 中?

示例输入:https ://imgur.com/vUWCRfF

当前输出:https ://imgur.com/sUlsy87

期望的输出:https ://imgur.com/UnX0j43

注意:对于以图像形式发布示例输入和输出,我深表歉意。否则,分隔符和引号字符未正确显示。

标签: pythonpython-3.xpandascsv

解决方案


看起来您面临的问题是没有添加引号(刺字符),因为默认的引用规则是csv.QUOTE_MINIMAL. 看起来你想要csv.QUOTE_ALL

import csv

df.to_csv(outputdat, quotechar='\xfe', sep='\x14', quoting=csv.QUOTE_ALL,
          index=False, encoding='UTF-8')

推荐阅读