Python Pandas对CSV文件的每一行执行操作

时间:2016-11-10 16:06:42

标签: python csv pandas

我有一个100万行CSV文件。我想在每一行的第1列调用查找函数,并将其结果作为新列附加到同一个CSV中(如果可能)。

我想要的是这样的事情:

for each row in dataframe
   string=row[1]
   result=lookupFunction(string)
   row.append[string]

我知道我可以使用python的CSV库打开我的CSV,读取每一行,执行操作,将结果写入新的CSV。

这是我使用Python的CSV库的代码

with open(rawfile, 'r') as f:
    with open(newFile, 'a') as csvfile:
        csvwritter = csv.writer(csvfile, delimiter=' ')
        for line in f: 
            #do operation

但是我真的想和熊猫一起做,因为这对我来说是个新鲜事。 这就是我的数据

77,#oshkosh #         tannersville pa,,PA,US
82,#osithesakcom         ca,,CA,US
88,#osp open records        or,,OR,US
89,#ospbco      tel ord   in,,IN,US
98,#ospwmnwithn return    in,,IN,US
99,#ospwmnwithn tel ord   in,,IN,US
100,#osram sylvania inc      ma,,MA,US
106,#osteria giotto        montclair    nj,,NJ,US

任何帮助和指导将不胜感激。感谢

2 个答案:

答案 0 :(得分:0)

这是一个从csv文件

向新列添加2列的简单示例
import pandas as pd

df = pd.read_csv("yourpath/yourfile.csv")

df['newcol'] = df['col1'] + df['col2']

答案 1 :(得分:0)

创建dfcsv

import pandas as pd

df = pd.DataFrame(dict(A=[1, 2], B=[3, 4]))

df.to_csv('test_add_column.csv')

csv读入dfromcsv

dfromcsv = pd.read_csv('test_add_column.csv', index_col=0)

创建新列

dfromcsv['C'] = df['A'] * df['B']
dfromcsv

enter image description here

撰写csv

dfromcsv.to_csv('test_add_column.csv')

再次阅读

dfromcsv2 = pd.read_csv('test_add_column.csv', index_col=0)

dfromcsv2

enter image description here