我要将这个csv file导入到Python dataframe中,分隔符为"#{1}",因此它有13列,但我有以下几行错误:
ParserError:第803行应包含13个字段,saw为14。错误可能是由于在使用多字符分隔符时忽略引号造成的。
问题是这些令人不安的线条看起来像这样的"Revolution#9#9118#"9118"#"350000"#15.11.2002###Thriller/Suspense##""##7,3#252“
其中“革命#9”的意思是“革命№9",只是电影的标题,而不是分隔符,尽管程序不理解这一点,并因此计算了一个多余的列。教师禁止编辑原始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发布于 2020-02-01 21:11:11
我认为csv.DictReader模块会对您有所帮助。下面是一个未经测试的如何使用此模块的示例
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 contenthttps://stackoverflow.com/questions/60016809
复制相似问题