如果我通常将 csv 文件作为分隔符但部分作为标题的一部分,我可以做些什么来正确将 csv 文件导入 Python "#"?



我要将此csv文件导入Python数据帧,具有分隔符"#{1}",因此它有13列,但是我有几行错误:

"解析器错误:第 803 行中有 13 个字段,看到 14 个。错误可能是由于在使用多字符分隔符时忽略引号。

问题是这些令人不安的台词看起来像这样 "革命#9#9118#"9118"#"350000"#15.11.2002###Thriller/悬念##"##7,3#252">

其中"革命#9"的意思是"革命No9",只是电影的标题,而不是分隔符,尽管程序不理解这一点,并因此计算了一列过多的列。教师禁止编辑原始 csv 文件进行修复。仅使用代码。

是否有一些代码可以在 Python 中编辑此 csv 文件,将电影标题中的此标志替换为另一个符号? 或者请问还有其他方法来解决这个问题?

这是我使用的代码,以防万一

import pandas as pd
movies=pd.read_csv('movies.csv', 
sep="#{1}",
names=["Title", "US Gross", "Worldwide Gross", "Production Budget", "Release Date", "Distributor", "Source", "Major Genre", "Creative Type","Director","Rotten Tomatoes Rating","IMDB Rating","IMDB Votes"],
engine='python',
skiprows=1)
movies = movies.replace(to_replace='"', value="", regex=True)
movies

我认为csv。词典阅读器模块将为您提供帮助。 这里有一个未经测试的示例如何使用这个模块

from csv import DictReader
with open(file_name, 'r') as csv_file:
fieldnames = ["Title", "US Gross"] # Add all youre rows here
csv_lines = csv.DictReader(csv_file, fieldnames=fieldnames, delimiter=',')
for line in csv_lines:
# Example how to access the column 'Title'
title = line['Title']
# here you can replace the content

最新更新