我正在处理csv文件并将其放入PostgreSQL数据库。但是对于其中一个文件,每个字段都被引号包围(当在Excel中查看时,它看起来很正常。但是在记事本中,一行看起来像"名字"、"姓氏"、"单元号码"、"家庭号码"等,而它应该看起来像名字、姓氏、单元号码、家庭号码)。当我试图将其加载到SQL中时,它坏了。
我尝试将文件加载到python中进行数据清理,但出现错误:
这是我在python中运行并加载到文件中的代码:
import pandas as pd
logics = pd.read_csv("test.csv")
这是我得到的错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 28682: invalid continuation byte
我试着把它编码成UTF-8,但那给了我一个不同的错误。代码:
import pandas as pd
logics = pd.read_csv("test.csv", encoding= 'utf-8')
错误:
pandas.errors.ParserError: Error tokenizing data. C error: Expected 12 fields in line 53, saw 14
不管什么原因,当我在文件资源管理器中手动将文件保存为UTF-8,然后再将其保存为CSV文件时,引号会被删除,但我需要自动化这个过程。有没有办法可以使用python来删除这些引号?它只是某种不同的编码吗?
1条答案
按热度按时间sg2wtvxw1#
所以你可以添加更多的东西,也许可以把一些功能放到一个叫做“clean_line”的函数中。下面应该检查一下你的csv,并删除任何一行中的所有
"
字符。这一行不需要真实的的Pandas开销,使用标准的python库也会让它更快。