Python/pandas n00b。我有處理存儲在csv文件中的事件數據的代碼。來自df["CONTACT PHONE NUMBER"]
的數據正在輸出電話號碼爲「5555551212.0」顯然,「.0」是一個問題,但添加因爲它是一個整數,我想?使用pandas在csv中格式化電話號碼
Anyhoo,爲了便於使用,我決定格式化電話號碼。
該數字來自未格式化的csv文件。該數字將始終爲十位:5555551212,但我想將其顯示爲(555)555-1212。
import glob
import os
import pandas as pd
import sys
csvfiles = os.path.join(directory, '*.csv')
for csvfile in glob.glob(csvfiles):
df = pd.read_csv(filename)
#formatting the contact phone
phone_nos = df["CONTACT PHONE NUMBER"]
for phone_no in phone_nos:
contactphone = "(%c%c%c)%c%c%c-%c%c%c%c" % tuple(map(ord,phone_no))
最後一行給了我以下錯誤: not enough arguments for format string
但也許這是不是這樣做的大熊貓的方式。由於我在遍歷數組,所以我還需要將數據保存在其現有列中,或者在處理完電話號碼後重建該列。
國際海事組織,你應該實際存儲這些字符串(而不是整數)。也許他們正在浮動,因爲你有一些缺失的數據? –
CSV文件是從我們使用的服務生成的,所以我不控制數據的存儲方式。 – mattrweaver
我的意思是,你可以在* DataFrame *中以字符串的形式讀取它,而不是一個int(因爲你有缺失的數據,atm被上浮爲float),請參閱我的回答 –