【发布时间】:2018-07-29 20:18:37
【问题描述】:
我无法正确读取带有 pandas 的 csv 文件。我已经搜索了我的问题的解决方案,但没有找到。
所以,我的文件包含有关曲目的信息,但它的结构有点特殊。这是标题结构,大多数行都尊重它。
artist, trackname, albumname, tracknum, year, mp3genre
Anton Cosmo, Cry, The In Between, 12, 2010, Electro Rock
但有些行的结构与此不同:
artist, trackname, albumname, tracknum, year, mp3genre
Anne Garner, "Home, Outbound","Long Journey Here, 1, 2011, Electronica
我尝试了很多方法来将这个 csv 文件读入 pandas DataFrame,但我没有成功。我以为:
df = pd.read_csv("songs.csv", quotechar="\"")
会起作用,但它给了我这样一条线:
artist Anne Garner
trackname "Home, Outbound" , Long Journey Here
albumname 1
tracknum 2011
year Electronica
mp3genre NaN
而不是:
artist Anne Garner
trackname Home, Outbound
albumname Long Journey Here
tracknum 1
year 2011
mp3genre Electronica
你知道正确阅读的方法吗?
提前致谢
【问题讨论】:
-
真的是这样的结构吗?你有一个永远不会结束的报价。在“这里的长途旅行......
-
确实我弄错了,真正的结构是“Anne Garner”、“Home, Outbound””、“Long Journey Here”、“1”、“2011”、“Electronica”跨度>
-
所以你有
""Home, Outbound""'unquoted'?字符串开头和结尾的两个引号? -
您可以尝试将每次出现的
""替换为"。 -
@joaoavf 提到的方法值得一试,但不能保证它会起作用,除非您知道
""不会出现在任何字段中。如果您控制您尝试解析的文件的生成,则可以避免首先写双引号。
标签: python python-3.x pandas csv