python - 解码 CSV 文件
问题描述
df=pandas.read_csv("commaSeperated.csv") 将 csv 文件导入 pandas,但查看 pandas.columns 我得到了这种文件格式
用 pandas.head() 查看文件头我得到了这个文件输出
现在我的问题是,有什么方法可以在没有这些字符的情况下输出正确的 CSV 文件
这就是它在记事本++中的样子 "003 ""|"" ""|"" ""|""7105926 ""|"" ""|"" ""|"" ""|"" ""|""""|"" ""|"" ""|"" ""|"" ""|"" ""|""""|"" ""|"" ""|"" ""|"" ""|"" ""|"" ""|""""|"" ""|"" ""|"" ""|"" ""|"" ""|""""|"" ""|"" ""|"" ""|"" ""|"" ""|""""|"" ""|"" ""|"" ""|"" ""|"" ""|""绿色 ""|"" ""|"" ""|""24-APR-20""|""GH20200071398001DK ""|"" ""|"" ""|"" ""|""TNMSCA12 "" |"" ""|""" ""|"" ""|"" ""|""TNMSCA12 ""|"" ""|""" ""|"" ""|"" ""|""TNMSCA12 ""|"" ""|""
解决方案
您的初始文件不是正确的 csv 格式。长话短说,唯一合理的做法是让该恐怖片的制作人修复格式。如果不可能,可以使用 csv 模块尝试通过每行解码一次并输出第一个也是唯一的字段来修复它:
import csv
with open("commaSeperated.csv") as fdin, open("fixed.csv", newline="\r\n") as fdout:
rd = csv.reader(fdin, delimiter='|', quotechar='"')
for row in rd:
print(row[0], file=fdout)
完成后,您可以尝试将其加载到 pandas DataFrame 中:
df = pd.read_csv("fixed.csv", sep=r"\|")
推荐阅读
- node.js - 如何将变量流式传输到文件 Node JS?
- symfony - symfony 控制台命令 113 退出代码
- django - 在删除对象模型之前添加规则的问题
- x86 - OPOS 库 v1.14 在 x64 版本的 .net 中无法正常工作
- python-3.x - 图像大小 - Python
- android - Kivy Android App - 滑动切换屏幕
- cpanel - 我们如何解决 centos 和 cpanel 的 php cli 问题?
- ios - 我们可以限制 Swift 生成的接口只能在 Xcode 中从模块访问吗?
- javascript - 我如何模拟没有索引的键值对列表(角度)?
- mysql - MySQL:如何在 MySQL 表上设置行或字节大小限制?