我正在分析一个txt文件有一个已知的结构。 每一列代表一个国家,每一个值代表这个国家使用该名称的频率。你知道吗
关于源代码和原始文档here的更多信息—它被称为nam_dict.txt文件你知道吗
它看起来像这样:
M Aadam 1 $
F Aadje 1 $
M Ådne + 1 $
M Aadu 12 $
?F Aaf 1 $
F Aafke 4 $
? Aafke 1 $
F Aafkea 1 $
M Aafko 1 $
M Aage 761 $
M Åge + 56 $
F Aagje 1 2 $
问题是数字之间没有分隔符,给定列的任何数字都可能有一个或两个数字(1到13)。有什么好办法提取这个吗?你知道吗
我想用Python和熊猫来做这个。你知道吗
列如下:
['GreatBritain',
'Ireland',
'U.S.A.',
'Italy',
'Malta',
'Portugal',
'Spain',
'France',
'Belgium',
'Luxembourg',
'theNetherlands',
'EastFrisia',
'Germany',
'Austria',
'Swiss',
'Iceland',
'Denmark',
'Norway',
'Sweden',
'Finland',
'Estonia',
'Latvia',
'Lithuania',
'Poland',
'CzechRepublic',
'Slovakia',
'Hungary',
'Romania',
'Bulgaria',
'BosniaandHerzegovina',
'Croatia',
'Kosovo',
'Macedonia',
'Montenegro',
'Serbia',
'Slovenia',
'Albania',
'Greece',
'Russia',
'Belarus',
'Moldova',
'Ukraine',
'Armenia',
'Azerbaijan',
'Georgia',
'Kazakhstan/Uzbekistan,etc.',
'Turkey',
'Arabia/Persia',
'Israel',
'China',
'India/SriLanka',
'Japan',
'Korea',
'Vietnam',
'othercountries']
希望得到这种类型的输出(在适当的情况下使用数字):
gender GreatBritain Ireland U.S.A. Italy Malta Portugal Spain France Belgium ... Kazakhstan/Uzbekistan,etc. Turkey Arabia/Persia Israel China India/SriLanka Japan Korea Vietnam othercountries
name
Aad M NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Aadam M NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Aadje F NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Ådne M NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Aadu M NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
空格可以组合:
df = pd.read_csv(filename, sep="\s+")
例如,几个随后出现的空格将被视为单个分隔符。你知道吗
更新:似乎您应该使用
read_fwf
Update2:必须生成列列表。第一列的宽度=1,第二列的宽度=27(直到+号),其余列的宽度设置为1。检查并修改(如需要):
相关问题 更多 >
编程相关推荐