首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我通常使用"#“作为分隔符,但部分作为标题的一部分,我如何才能正确地将csv-file导入Python?

如果我通常使用"#“作为分隔符,但部分作为标题的一部分,我如何才能正确地将csv-file导入Python?
EN

Stack Overflow用户
提问于 2020-02-01 20:19:27
回答 1查看 57关注 0票数 0

我要将这个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文件,用其他符号替换电影标题中的这个符号?或者其他方法来解决这个问题,好吗?

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

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2020-02-01 21:11:11

我认为csv.DictReader模块会对您有所帮助。下面是一个未经测试的如何使用此模块的示例

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60016809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档