我有一个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
任何帮助和指导将不胜感激。感谢
答案 0 :(得分:0)
这是一个从csv文件
向新列添加2列的简单示例import pandas as pd
df = pd.read_csv("yourpath/yourfile.csv")
df['newcol'] = df['col1'] + df['col2']
答案 1 :(得分:0)
创建df
和csv
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
撰写csv
dfromcsv.to_csv('test_add_column.csv')
再次阅读
dfromcsv2 = pd.read_csv('test_add_column.csv', index_col=0)
dfromcsv2