【发布时间】:2020-01-18 16:41:02
【问题描述】:
我正在导入我之前从网站上抓取的 csv 文件。 这些是此文件中的示例行:
年份,选举,teryt_code,powiat,gmina,political_party,n_votes,百分比 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 1 - Komitet Wyborczy Prawo i Sprawiedliwość - Zarejestrowana,3 496,"22,85" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 2 - Komitet Wyborczy Polska Jest Najważniejsza - Zarejestrowana,276,"1,80" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 3 - Komitet Wyborczy Sojusz Lewicy Demokratycznej - Zarejestrowana,1 815,"11,86" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 4 - Komitet Wyborczy Ruch Palikota - Zarejestrowana,1 867,"12,20" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 5 - Komitet Wyborczy Polskie Stronnictwo Ludowe - Zarejestrowana,432,"2,82" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 6 - Komitet Wyborczy Polska Partia Pracy - Sierpień 80 - Zarejestrowana,79,"0,52" 2011,sejm,020101,bolesławiecki,Miasto Bolesławiec,Lista nr 7 - Komitet Wyborczy Platforma Obywatelska RP - Zarejestrowana,7 336,"47,94" 2011,sejm,020102,bolesławiecki,Gmina Bolesławiec,Lista nr 1 - Komitet Wyborczy Prawo i Sprawiedliwość - Zarejestrowana,1 043,"26,33" 2011,sejm,020102,bolesławiecki,Gmina Bolesławiec,Lista nr 2 - Komitet Wyborczy Polska Jest Najważniejsza - Zarejestrowana,68,"1,72" 2011,sejm,020102,bolesławiecki,Gmina Bolesławiec,Lista nr 3 - Komitet Wyborczy Sojusz Lewicy Demokratycznej - Zarejestrowana,368,"9,29"
当我用 line 导入它时:
sejm_df = pandas.read_csv('file.csv',encoding='utf-8-sig')
然后用 line 打印出来:
print(sejm_df[0:10].to_string())
打印行:
年选举 teryt_code powiat gmina political_party n_votes 百分比 0 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 1 - Komitet Wyborczy Prawo i Sprawied... 3 496 22,85 1 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 2 - Komitet Wyborczy Polska Jest Najw... 276 1,80 2 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 3 - Komitet Wyborczy Sojusz Lewicy De... 1 815 11,86 3 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 4 - Komitet Wyborczy Ruch Palikota - ... 1 867 12,20 4 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 5 - Komitet Wyborczy Polskie Stronnic... 432 2,82 5 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 6 - Komitet Wyborczy Polska Partia Pr... 79 0,52 6 2011 sejm 20101 bolesławiecki Miasto Bolesławiec Lista nr 7 - Komitet Wyborczy Platforma Obywat... 7 336 47,94 7 2011 sejm 20102 bolesławiecki Gmina Bolesławiec Lista nr 1 - Komitet Wyborczy Prawo i Sprawied... 1 043 26,33 8 2011 sejm 20102 bolesławiecki Gmina Bolesławiec Lista nr 2 - Komitet Wyborczy Polska Jest Najw... 68 1,72 9 2011 sejm 20102 bolesławiecki Gmina Bolesławiec Lista nr 3 - Komitet Wyborczy Sojusz Lewicy De... 368 9,29
但我需要将列 n_votes 转换为整数。我正在尝试这样做:
sejm_df['n_votes'] = sejm_df['n_votes'].astype('int',True)
但只出现错误:
ValueError: int() 以 10 为底的无效文字:'3\xa0496'
【问题讨论】:
-
您提供的数据格式似乎不正确。似乎有比标题名称更多的列。我已尽我所能修复了您提供的内容,“n_votes”列的数据类型是 int64,只有 df=pd.read_csv('filename.txt', header=0)
标签: python pandas encoding utf-8