用pandas读带引号的csv文件

2024-10-03 13:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难正确读取熊猫的csv文件。我已经想办法解决我的问题了,但没有找到。在

所以,我的文件包含了关于音轨的信息,但是它的结构有点特殊。这是头结构,大多数行都尊重它。在

artist, trackname, albumname, tracknum, year, mp3genre
Anton Cosmo, Cry, The In Between, 12, 2010, Electro Rock

但有些行的结构与此不同:

^{pr2}$

我尝试了很多方法将这个csv文件读入pandas数据帧,但是没有成功。我以为:

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

你知道怎样才能正确地读这本书吗?在

提前谢谢


Tags: 文件csvhomeartistoutbound结构yearlong
1条回答
网友
1楼 · 发布于 2024-10-03 13:17:26

如前所述,您可以在阅读时尝试将""替换为"。一种方法是使用csv.reader()在将数据传递给Pandas之前对其进行预解析。例如:

import pandas as pd
import csv
import io

with open('songs.csv') as f_input:
    data = [next(csv.reader(io.StringIO(line.replace('""', '"')))) for line in f_input]

print(pd.DataFrame(data[1:], columns=data[0]))

这会给你:

^{pr2}$

相关问题 更多 >