我有这个movie.csv csv-file,我将其导入到名为“电影”的数据框中。但是我在删除这些#,##,###,####分隔符时遇到了一些麻烦。enter image description here我尝试了这段代码:
import pandas as pd
my_cols=["Title", "US Gross", "Worldwide Gross", "Production Budget", "Release Date", "Distributor", "Source", "Major Genre", "Creative Type","Director","Rotten Tomatoes","Rating","IMDB Rating","IMDB Votes"]
movies=pd.read_csv('movies.csv',
sep="\#\#\#\#",
quotechar='"',
names=my_cols,
engine="python")
movies
但它仍然保留此符号“#”,并且仅使1列。请帮助解决此问题。
您可以在sep
参数中提供一个正则表达式来表示您想要一个或多个#
字符,例如:
movies=pd.read_csv('Downloads/movies.csv',
sep="#{1,}",
quotechar='"',
names=my_cols,
engine="python")
我注意到的第一件事是您的CSV文件具有single #作为分隔符。
诚然,它有时在序列中包含一些散列,但仅表示许多输入字段是missing(它们是空字符串)。这就是为什么原理上位于[
read_csv
的默认行为是:这样的空字符串将转换为NaN,对于缺少例如字符串。要关闭此功能,请传递na_filter = False
。因此,总结起来,请尝试以下代码:movies = pd.read_csv('movies.csv', sep='#', quotechar='"', na_filter=False, names=my_cols)