我有一个数据文件,我试图创建另一个代表哈希表的文件,每行代表一个包含元组(value
,ptr
)的存储桶。 / p>
value
- 我用哈希函数映射的关键字
ptr
- 数据文件中的行号
当我创建哈希表时,我将每行从数据文件映射到我的哈希文件。我正在使用临时文件添加我的每一行并从散列文件+新行复制所有数据,然后将文件重命名为散列文件的名称。
我编写了一些在数据文件很小的情况下可以正常工作的代码,当我尝试使用10,000行映射文件时,它的工作时间为30秒,然后崩溃并出现以下错误:
Traceback (most recent call last):
File "C:/Users/�������/��� �'/����� �'/����� ������ ����� ������/����� 2/to_publish/ex2.py", line 372, in <module>
hash.create('kiva_loans.txt', 'lid')
File "C:/Users/�������/��� �'/����� �'/����� ������ ����� ������/����� 2/to_publish/ex2.py", line 317, in create
self.add(value, count)
File "C:/Users�������/��� �'/����� �'/����� ������ ����� ������/����� 2/to_publish/ex2.py", line 343, in add
os.rename("tmp.txt", self.fileName)
WindowsError: [Error 183] Cannot create a file when that file already exists
这就是我写的:
class Hash:
def __init__(self, file_name, N=5):
"""
:param file_name: the name of the hash file to create. example:
kiva_hash.txt
:param N: number of buckets/slots.
"""
self.fileName=file_name
self.numOfBuckets = N
def create(self, source_file, col_name):
"""
:param source_file: name of file to create from. example: kiva.txt
:param col_name: the name of the column to index by example: 'lid'
Every row will represent a bucket, every tuple <value|ptr> will
separates by comma.
Example for the first 20 instances in 'kiva.txt' and N=10:
653060|11,
653091|17,653051|1,
653052|18,653062|14,653082|9,
653063|4,653053|2,
653054|16,653084|5,
653075|15,
653066|19,
653067|7,
653088|12,653048|10,653078|8,1080148|6,653068|3,
653089|13,
"""
source = open(source_file,'r')
file = open(self.fileName,'a+')
for i in range(0,self.numOfBuckets):
file.write('\n')
file.close()
firstRow = source.readline()
splitedFirstRow =firstRow.split(',')
col_num = -1
for col in splitedFirstRow:
col_num = col_num + 1
if col == col_name:
break
count = 1
for row in source:
splitedRow = row.split(',')
value = splitedRow[col_num]
self.add(value, count)
count = count+1
source.close()
def add(self, value, ptr):
"""
The function insert <value|ptr> to hash table according to the
result of the hash function on value.
:param value: the value of col_name of the new instance.
:param ptr: the row number of the new instance in the heap file.
"""
file = open(self.fileName , 'r')
tmpFile = open("tmp.txt" , 'a')
lineNum = self.hash(value)
toAdd = value+"|"+str(ptr)+","
count=1
for row in file:
if count == lineNum:
tmpFile.write(toAdd+row)
else:
tmpFile.write(row)
count = count+1
file.close()
tmpFile.close()
os.remove(self.fileName)
# while os.path.exists(self.fileName):
# continue
os.rename("tmp.txt", self.fileName)
def hash(self,value):
if value[0] >= '0' and value[0] <='9':
value= long(value)
if(type(value) == type("S")):
value = ord(value[0])
return (value % int(self.numOfBuckets))+1
这就是我试图运行的内容:
hash = Hash('hash_file.txt', 10)
hash.create('kiva_loans.txt', 'lid')
我是python中的新手,我试图解决这个问题,但没有运气(这个问题根本没有意义)。
我对此进行了编辑,以提供kiva_loans.txt
:
lid,loan_amount,currency,sector
653051,300.0,PKR,Food
653053,575.0,PKR,Trns
653068,150.0,INR,Trns
653063,200.0,PKR,Arts
653084,400.0,PKR,Food
653067,200.0,INR,Agri
653078,400.0,PKR,Serv
653082,475.0,PKR,Manu
653048,625.0,PKR,Food
653060,200.0,PKR,Trns
653088,400.0,PKR,Sale
653089,400.0,PKR,Reta
653062,400.0,PKR,Clth
653075,225.0,INR,Agri
653054,300.0,PKR,Trns
653091,400.0,PKR,Reta
653052,875.0,PKR,Serv
653066,250.0,INR,Serv
653080,475.0,PKR,Serv
653065,250.0,PKR,Food
653055,350.0,PKR,Food
653050,575.0,PKR,Clth
653079,350.0,PKR,Arts
653061,250.0,PKR,Food
653074,250.0,INR,Agri
653069,250.0,INR,Cons
653056,475.0,PKR,Trns
653071,125.0,INR,Agri
653073,250.0,INR,Agri
653059,250.0,PKR,Clth
653087,400.0,PKR,Manu
653076,450.0,PKR,Reta
653072,250.0,INR,Agri
653086,400.0,PKR,Food
653058,400.0,PKR,Serv
653083,475.0,PKR,Serv
653057,350.0,PKR,Reta
653090,475.0,PKR,Reta
653064,250.0,PKR,Heal
653077,475.0,PKR,Food
653081,200.0,PKR,Educ
653049,250.0,PKR,Reta
653085,450.0,PKR,Trns
653070,150.0,INR,Agri
653185,250.0,KES,Food
653272,250.0,INR,Agri
653359,600.0,NIO,Serv
653418,450.0,USD,Reta
653092,175.0,PHP,Agri
653149,175.0,PHP,Agri
653432,550.0,PEN,Puse
653380,225.0,XOF,Food
653123,700.0,PHP,Reta
653338,575.0,PHP,Agri
653237,250.0,KES,Reta
653229,250.0,KES,Serv
653192,800.0,USD,Agri
653308,150.0,LRD,Food
653227,250.0,PKR,Clth
653242,325.0,PHP,Reta
653287,275.0,LRD,Reta
653311,150.0,LRD,Food
653108,125.0,PHP,Reta
653134,575.0,PHP,Agri
653247,250.0,KES,Food
653115,275.0,PHP,Agri
653320,875.0,TZS,Reta
653099,700.0,PHP,Agri
653378,250.0,LRD,Serv
653117,575.0,PHP,Agri
653274,250.0,INR,Cons
653328,125.0,LRD,Food
653335,350.0,PHP,Reta
653324,125.0,LRD,Food
653381,325.0,LRD,Food
653107,325.0,PHP,Reta
653345,600.0,KES,Food
653301,250.0,INR,Agri
653114,350.0,PHP,Agri
653103,350.0,PHP,Food
653113,350.0,PHP,Reta
653093,925.0,PHP,Cons
653314,350.0,KES,Food
653166,600.0,USD,Agri
653303,200.0,INR,Reta
653376,225.0,XOF,Reta
653159,250.0,KES,Food
653203,250.0,KES,Clth
653102,475.0,PHP,Agri
653146,175.0,PHP,Agri
653298,150.0,LRD,Reta
653358,125.0,PHP,Reta
653245,250.0,KES,Serv
653346,200.0,LRD,Food
653394,325.0,LRD,Reta
653098,250.0,PHP,Food
653151,150.0,PHP,Reta
653306,250.0,KES,Clth
653393,250.0,LRD,Reta
653225,250.0,KES,Serv
653384,850.0,XOF,Manu
653347,175.0,LRD,Food
653434,750.0,HNL,Food
653278,250.0,INR,Cons
653291,325.0,LRD,Reta
653370,375.0,LRD,Clth
653139,200.0,PHP,Agri
653276,250.0,KES,Clth
653148,250.0,PHP,Reta
653310,250.0,KES,Food
653199,250.0,KES,Food
653424,725.0,PEN,Cons
653313,600.0,KES,Clth
653392,375.0,LRD,Food
653135,475.0,PHP,Reta
653104,250.0,PHP,Reta
653198,250.0,KES,Food
653417,425.0,COP,Educ
653344,225.0,PHP,Food
653097,350.0,PHP,Agri
653364,250.0,NIO,Reta
653136,625.0,PHP,Reta
653429,750.0,HNL,Serv
653342,475.0,COP,Educ
653127,700.0,PHP,Agri
653179,600.0,KES,Agri
653145,250.0,PHP,Reta
653208,500.0,KES,Food
653106,350.0,PHP,Hous
653330,200.0,PHP,Agri
653121,250.0,PHP,Food
653367,175.0,NIO,Food
653211,200.0,USD,Food
653350,250.0,KES,Serv
653158,325.0,PHP,Clth
653352,150.0,PHP,Food
653302,250.0,KES,Food
653233,125.0,KES,Food
653273,150.0,INR,Cons
653174,575.0,PHP,Agri
653349,225.0,PHP,Food
653124,425.0,PHP,Arts
653173,600.0,KES,Food
653325,700.0,KES,Reta
653125,250.0,PHP,Serv
653307,750.0,TJS,Educ
653241,250.0,KES,Food
653360,500.0,USD,Reta
653366,475.0,COP,Educ
653111,475.0,PHP,Reta
653389,125.0,XOF,Agri
653333,425.0,PHP,Clth
653396,800.0,NIO,Clth
653280,175.0,INR,Food
653413,550.0,USD,Food
653262,250.0,KES,Clth
653200,250.0,KES,Food
653374,500.0,USD,Hous
653178,875.0,TZS,Reta
653340,350.0,PHP,Reta
653327,250.0,KES,Food
653371,150.0,LRD,Food
653379,800.0,COP,Educ
653282,125.0,KES,Serv
653197,250.0,KES,Agri
653243,250.0,KES,Serv
653309,250.0,KES,Food
653411,475.0,COP,Educ
653362,475.0,COP,Educ
653299,250.0,INR,Agri
653431,375.0,PEN,Food
653300,150.0,LRD,Food
653210,250.0,KES,Reta
653094,700.0,PHP,Agri
653436,675.0,USD,Reta
653304,250.0,KES,Food
653140,525.0,COP,Clth
653180,475.0,KES,Reta
653402,800.0,NIO,Food
653341,475.0,PHP,Food
653425,300.0,USD,Food
653297,125.0,LRD,Reta
653285,250.0,INR,Agri
653315,200.0,LRD,Food
653144,250.0,PHP,Agri
653270,650.0,USD,Clth
653215,450.0,PKR,Puse
653356,125.0,PHP,Food
653205,450.0,PKR,Reta
653100,150.0,PHP,Agri
653119,250.0,PHP,Food
653386,250.0,LRD,Reta
653204,250.0,KES,Food
653150,325.0,COP,Clth
653331,125.0,LRD,Food
653109,350.0,PHP,Reta
653412,375.0,USD,Clth
653214,175.0,KES,Serv
653137,300.0,PHP,Agri
653361,500.0,USD,Manu
653317,250.0,KES,Food
653096,325.0,PHP,Food
653133,475.0,PHP,Agri
653157,600.0,KES,Food
653187,475.0,KES,Clth
653289,250.0,INR,Agri
653220,250.0,KES,Food
653147,700.0,PHP,Serv
653398,400.0,NIO,Clth
653230,250.0,KES,Agri
653387,750.0,HNL,Food
653130,575.0,PHP,Food
653404,750.0,HNL,Food
653416,600.0,BOB,Reta
653391,375.0,LRD,Food
653355,150.0,PHP,Food
653421,375.0,USD,Food
653202,600.0,KES,Reta
653110,275.0,PHP,Agri
653105,425.0,PHP,Reta
653250,125.0,KES,Clth
653435,350.0,USD,Food
653268,400.0,USD,Educ
653437,775.0,USD,Food
653223,250.0,PHP,Reta
653334,600.0,KES,Food
653354,325.0,LRD,Food
653353,475.0,COP,Educ
653329,250.0,KES,Food
653138,200.0,PHP,Food
653339,350.0,KES,Food
653120,275.0,PHP,Agri
653407,275.0,COP,Arts
653118,475.0,PHP,Hous
653128,250.0,PHP,Agri
653249,350.0,YER,Food
653409,875.0,BOB,Cons
653288,200.0,LRD,Food
653257,350.0,KES,Clth
653095,275.0,PHP,Agri
653397,475.0,COP,Educ
653336,200.0,LRD,Food
653401,475.0,COP,Educ
653321,600.0,KES,Serv
653428,550.0,PEN,Hous
653406,750.0,HNL,Agri
653322,600.0,KES,Food
653305,600.0,KES,Food
653294,325.0,LRD,Food
653122,350.0,PHP,Food
653426,300.0,USD,Clth
653224,250.0,KES,Food
653385,325.0,LRD,Reta
653196,700.0,USD,Puse
653238,250.0,KES,Serv
653351,250.0,PHP,Reta
653395,250.0,NIO,Clth
653235,250.0,KES,Serv
653101,425.0,PHP,Reta
653162,500.0,USD,Trns
653390,800.0,NIO,Food
653142,250.0,PHP,Food
653189,250.0,KES,Food
653377,600.0,NIO,Reta
653423,700.0,USD,Reta
653153,250.0,PHP,Reta
653131,675.0,PHP,Food
653612,450.0,USD,Hous
653756,500.0,USD,Hous
653600,250.0,KHR,Hous
653466,250.0,PHP,Food
653463,150.0,PHP,Reta
653547,850.0,TJS,Agri
653786,100.0,USD,Puse
653469,175.0,PHP,Reta
653445,725.0,PEN,Trns
653638,950.0,GHS,Food
653441,200.0,HNL,Food
653782,100.0,USD,Puse
653657,450.0,PKR,Manu
653684,625.0,GHS,Reta
653650,125.0,LRD,Food
653462,400.0,USD,Agri
653750,350.0,USD,Hous
653453,225.0,PHP,Reta
653636,600.0,KES,Reta
653494,200.0,PHP,Reta
653788,100.0,USD,Puse
653664,600.0,KES,Reta
653685,250.0,KES,Clth
653712,475.0,YER,Puse
653770,100.0,USD,Puse
653796,700.0,USD,Reta
653604,700.0,KES,Serv
653713,450.0,COP,Educ
653537,500.0,USD,Educ
653587,125.0,KES,Clth
653775,725.0,USD,Agri
653514,350.0,PKR,Clth
653599,175.0,XOF,Reta
653680,400.0,PKR,Manu
653606,850.0,KES,Food
653573,625.0,TJS,Trns
653544,125.0,KES,Serv
653576,900.0,KHR,Agri
653717,300.0,SLL,Food
653490,575.0,PHP,Reta
653681,475.0,KES,Reta
653491,250.0,PHP,Reta
653669,600.0,KES,Agri
653527,650.0,USD,Educ
653611,250.0,SLL,Clth
653739,300.0,SLL,Reta
653754,425.0,COP,Educ
653582,600.0,KES,Reta
653523,250.0,PKR,Trns
653549,250.0,KES,Food
653730,300.0,USD,Hous
653482,500.0,PHP,Agri
653618,300.0,PKR,Serv
653793,100.0,USD,Puse
653458,475.0,PHP,Reta
653769,100.0,USD,Puse
653760,500.0,USD,Hous
653506,500.0,USD,Hous
653630,250.0,INR,Agri
653719,300.0,USD,Hous
653670,400.0,PKR,Food
653439,500.0,HNL,Food
653526,350.0,PKR,Serv
653697,350.0,KES,Puse
653703,600.0,KES,Food
653524,850.0,TJS,Hous
653472,225.0,PHP,Food
653593,250.0,KES,Food
653696,600.0,KES,Puse
653667,475.0,PKR,Serv
653651,750.0,KHR,Agri
653634,250.0,INR,Agri
653654,525.0,GHS,Food
653707,600.0,KES,Reta
653734,350.0,SLL,Food
653781,700.0,USD,Reta
653489,200.0,PEN,Agri
653662,400.0,PKR,Serv
653692,600.0,KES,Agri
653500,800.0,PEN,Hous
653553,125.0,KES,Food
653735,250.0,SLL,Food
653566,200.0,PKR,Puse
653476,300.0,USD,Food
653646,225.0,INR,Agri
653776,700.0,USD,Clth
653652,600.0,KES,Agri
653705,450.0,COP,Educ
653749,600.0,NIO,Reta
653509,575.0,PHP,Agri
653572,250.0,KES,Agri
653673,475.0,PKR,Agri
653525,400.0,PKR,Serv
653763,100.0,USD,Puse
653789,700.0,USD,Reta
653583,500.0,KES,Serv
653642,250.0,SLL,Clth
653690,600.0,KES,Agri
653795,450.0,COP,Educ
653483,600.0,PHP,Reta
653438,225.0,PEN,Food
653620,350.0,SLL,Reta
653701,600.0,KES,Puse
653643,500.0,KHR,Agri
653625,375.0,USD,Educ
653581,700.0,USD,Trns
653605,675.0,PKR,Reta
653755,500.0,USD,Hous
653683,400.0,PKR,Educ
653777,100.0,USD,Puse
653487,250.0,PHP,Food
653477,250.0,PHP,Agri
653559,250.0,KES,Food
653575,250.0,KES,Food
653725,550.0,COP,Serv
653474,375.0,PEN,Reta
653720,750.0,NIO,Educ
653456,375.0,PHP,Agri
653536,150.0,PKR,Reta
653595,500.0,KES,Food
653460,300.0,USD,Agri
653508,575.0,PHP,Reta
653727,700.0,USD,Serv
653571,675.0,PKR,Serv
653635,250.0,INR,Food
653774,775.0,NIO,Agri
653614,600.0,KES,Reta
653596,750.0,KHR,Agri
653676,400.0,PKR,Agri
653603,850.0,TJS,Hous
653616,275.0,SLL,Clth
653797,600.0,NIO,Hous
653449,400.0,USD,Serv
653471,500.0,USD,Serv
653610,250.0,KES,Agri
653679,575.0,PKR,Manu
653784,800.0,USD,Food
653661,475.0,PKR,Agri
653481,550.0,PEN,Food
653461,250.0,PHP,Reta
653802,500.0,USD,Reta
653639,500.0,KHR,Food
653601,625.0,KES,Food
653563,500.0,KHR,Agri
653737,225.0,SLL,Food
653464,800.0,USD,Puse
653708,700.0,YER,Serv
653592,250.0,KES,Food
653499,575.0,PHP,Reta
653744,325.0,COP,Educ
653663,450.0,PKR,Arts
653714,450.0,COP,Educ
653545,600.0,KES,Hous
653631,300.0,SLL,Reta
653534,525.0,TJS,Agri
653594,650.0,KHR,Agri
653528,600.0,KES,Food
653496,900.0,PEN,Food
653584,275.0,KHR,Hous
653468,300.0,USD,Clth
653678,600.0,KES,Reta
653787,600.0,USD,Trns
653641,450.0,KHR,Agri
653674,400.0,PKR,Food
653688,600.0,KES,Clth
653586,225.0,XOF,Reta
653656,600.0,KES,Agri
653485,400.0,PHP,Reta
653486,325.0,PEN,Clth
653738,350.0,USD,Hous
653666,650.0,GHS,Food
653570,700.0,KHR,Agri
653497,250.0,PHP,Food
653645,725.0,KHR,Agri
653765,100.0,USD,Puse
653687,250.0,KES,Agri
653732,300.0,SLL,Food
653722,300.0,USD,Hous
653694,350.0,KES,Reta
653655,400.0,PKR,Reta
653602,250.0,KES,Reta
653473,700.0,USD,Food
653724,225.0,SLL,Reta
653552,250.0,PKR,Reta
653709,700.0,YER,Cons
653799,325.0,USD,Educ
653726,600.0,COP,Serv
653510,400.0,PKR,Serv
653615,350.0,KES,Serv
653649,250.0,INR,Agri
653746,350.0,USD,Hous
653686,600.0,KES,Reta
653440,200.0,PEN,Food
653597,500.0,USD,Hous
653668,400.0,PKR,Reta
653762,300.0,USD,Food
653484,375.0,PEN,Reta
653621,925.0,KES,Agri
653531,250.0,KES,Food
653715,450.0,COP,Educ
653448,550.0,HNL,Food
653498,200.0,PEN,Hous
653470,725.0,PEN,Trns
653622,450.0,USD,Hous
653451,350.0,PHP,Agri
653689,350.0,KES,Food
653475,250.0,PHP,Food
653518,300.0,PKR,Trns
653637,250.0,INR,Agri
653695,600.0,KES,Reta
653588,250.0,KES,Reta
653517,525.0,KES,Food
653698,475.0,KES,Puse
653731,550.0,COP,Food
653629,375.0,KHR,Agri
653758,500.0,USD,Hous
653465,275.0,PHP,Food
653752,600.0,NIO,Educ
653790,500.0,USD,Agri
653640,250.0,INR,Reta
653805,500.0,USD,Reta
653711,600.0,KES,Cons
653568,250.0,KES,Food
653660,400.0,PKR,Reta
653478,825.0,PEN,Food
653677,400.0,PKR,Food
653551,200.0,PKR,Serv
653488,350.0,PHP,Agri
653704,475.0,KES,Agri
653480,275.0,PHP,Reta
653546,250.0,KHR,Agri
653733,425.0,SLL,Food
653591,600.0,KHR,Agri
653554,625.0,KHR,Agri
653748,350.0,USD,Hous
653515,475.0,PKR,Food
653675,600.0,KES,Serv
653682,250.0,KES,Food
653541,425.0,TJS,Serv
653557,500.0,KHR,Food
653723,450.0,COP,Educ
653501,300.0,PHP,Food
653520,475.0,PKR,Serv
653578,250.0,USD,Educ
653644,250.0,INR,Agri
653658,400.0,PKR,Reta
653493,425.0,PHP,Reta
653665,400.0,PKR,Agri
653561,750.0,KHR,Agri
653672,400.0,PKR,Food
653533,850.0,KES,Clth
653647,250.0,INR,Agri
653495,375.0,PHP,Reta
653543,400.0,KHR,Food
653450,725.0,PEN,Cons
653700,600.0,KES,Puse
653699,450.0,COP,Educ
653785,700.0,USD,Reta
653671,400.0,PKR,Manu
653585,125.0,KES,Reta
653567,625.0,KHR,Agri
653623,300.0,SLL,Food
653800,650.0,USD,Serv
653801,500.0,USD,Reta
653691,650.0,GHS,Reta
653659,475.0,PKR,Reta
653751,350.0,USD,Hous
653608,250.0,KES,Food
653590,250.0,KES,Reta
653535,875.0,KHR,Agri
653792,800.0,USD,Trns
653721,625.0,USD,Hous
653446,400.0,PHP,Reta
653816,250.0,PHP,Clth
653861,850.0,NIO,Educ
653807,500.0,PEN,Trns
653825,425.0,XOF,Agri
653840,800.0,USD,Cons
653851,725.0,PEN,Hous
653853,450.0,COP,Educ
653859,900.0,USD,Reta
653849,450.0,COP,Educ
653874,800.0,USD,Food
653880,300.0,USD,Food
653814,250.0,PHP,Food
653812,675.0,PHP,Agri
653883,625.0,USD,Clth
653808,725.0,PEN,Cons
653868,500.0,USD,Clth
653858,425.0,USD,Agri
653838,600.0,USD,Reta
653828,250.0,INR,Trns
653817,175.0,PHP,Food
653822,850.0,XOF,Reta
653870,600.0,USD,Food
653819,300.0,PHP,Food
653831,225.0,XOF,Agri
653832,250.0,INR,Agri
653810,250.0,PHP,Trns
653815,450.0,PHP,Agri
653813,150.0,PHP,Reta
653835,425.0,XOF,Agri
653855,450.0,COP,Educ
653878,300.0,USD,Food
653827,325.0,XOF,Agri
653818,150.0,PHP,Food
653836,450.0,COP,Educ
653824,225.0,XOF,Agri
653887,800.0,USD,Reta
653843,500.0,USD,Reta
653846,375.0,PEN,Puse
653879,600.0,USD,Clth
653830,250.0,INR,Agri
653834,425.0,XOF,Agri
653875,700.0,USD,Serv
653823,275.0,XOF,Agri
653864,850.0,USD,Food
653852,600.0,NIO,Hous
653885,600.0,USD,Serv
653882,500.0,USD,Food
653826,250.0,INR,Agri
653809,375.0,PHP,Reta
653857,475.0,NIO,Hous
653829,200.0,INR,Agri
653839,450.0,COP,Educ
653873,400.0,USD,Food
653862,600.0,NIO,Reta
653863,800.0,NIO,Hous
653833,250.0,INR,Agri
653886,500.0,USD,Cons
653837,400.0,USD,Reta
653811,200.0,PHP,Food
653922,950.0,YER,Cons
653951,475.0,YER,Serv
653921,950.0,YER,Heal
653950,475.0,JOD,Arts
653929,950.0,YER,Clth
653923,950.0,YER,Puse
653939,475.0,JOD,Clth
653933,325.0,JOD,Reta
653947,600.0,JOD,Food
653954,100.0,UGX,Puse
653938,475.0,JOD,Agri
653946,750.0,JOD,Educ
653941,550.0,JOD,Educ
653948,750.0,JOD,Arts
653935,900.0,JOD,Educ
653925,800.0,YER,Agri
653928,575.0,YER,Reta
653940,625.0,JOD,Educ
653924,850.0,YER,Puse
653949,750.0,JOD,Clth
653927,475.0,YER,Serv
653945,750.0,JOD,Educ
653926,375.0,YER,Serv
653930,750.0,JOD,Reta
653915,725.0,VND,Agri
653936,750.0,JOD,Educ
653953,100.0,UGX,Puse
653942,625.0,JOD,Educ
653910,175.0,COP,Manu
654233,300.0,PKR,Clth
654111,450.0,USD,Hous
654189,925.0,SLL,Reta
653976,450.0,PHP,Reta
654240,550.0,USD,Food
654364,200.0,USD,Food
654050,450.0,PHP,Food
654178,250.0,KES,Reta
654101,250.0,INR,Agri
654062,125.0,KES,Food
654021,400.0,PKR,Trns
654236,425.0,USD,Food
654319,350.0,SLL,Reta
654289,100.0,LRD,Reta
654225,125.0,KES,Agri
654141,875.0,KHR,Agri
653965,225.0,PHP,Agri
654083,600.0,KES,Agri
654212,125.0,KES,Food
653984,300.0,PHP,Food
654325,300.0,SLL,Food
654213,125.0,KES,Reta
654057,125.0,KES,Agri
654264,600.0,USD,Hous
654071,950.0,PKR,Food
654288,300.0,USD,Reta
654244,125.0,LRD,Food
654281,200.0,PKR,Manu
654214,250.0,KES,Food
654387,875.0,USD,Serv
653971,125.0,PHP,Reta
654184,125.0,LRD,Clth
654366,650.0,PEN,Serv
654235,700.0,USD,Food
654095,475.0,YER,Food
653977,225.0,PHP,Manu
654054,225.0,PHP,Agri
654176,275.0,UGX,Agri
654203,250.0,KES,Food
654051,600.0,KES,Food
654131,275.0,UGX,Agri
654229,875.0,GEL,Clth
653985,150.0,PHP,Agri
654088,100.0,LRD,Food
654078,600.0,KES,Trns
654087,250.0,KES,Food
654310,775.0,NIO,Hous
654234,100.0,UGX,Puse
654215,125.0,KES,Food
654293,300.0,USD,Agri
654113,250.0,INR,Agri
654306,600.0,USD,Trns
654224,225.0,SLL,Food
654372,850.0,USD,Food
654328,300.0,USD,Clth
654031,700.0,YER,Reta
654292,100.0,LRD,Serv
654030,350.0,PKR,Reta
654257,125.0,LRD,Food
654209,925.0,KES,Food
654359,700.0,NIO,Hous
653990,275.0,PHP,Food
654369,400.0,USD,Reta
653968,600.0,USD,Food
654218,250.0,KES,Clth
654094,950.0,PKR,Reta
654070,125.0,PHP,Agri
654027,300.0,PKR,Food
654255,700.0,USD,Food
654339,500.0,USD,Hous
654311,400.0,USD,Arts
654344,675.0,NIO,Clth
654251,300.0,USD,Reta
654126,250.0,INR,Agri
654273,450.0,BOB,Educ
654190,225.0,XOF,Agri
654398,600.0,USD,Reta
654044,200.0,PHP,Food
654197,175.0,KES,Agri
654140,825.0,IDR,Serv
654378,750.0,USD,Clth
654009,275.0,COP,Manu
654159,275.0,UGX,Agri
654053,600.0,KES,Agri
653987,300.0,PHP,Food
654322,475.0,SLL,Food
654332,700.0,USD,Hous
654157,350.0,KES,Food
654239,400.0,USD,Food
654270,300.0,USD,Reta
654169,350.0,KES,Food
654283,600.0,BOB,Arts
654145,525.0,TJS,Puse
653989,450.0,PHP,Food
654075,250.0,KES,Agri
但它要长得多(它是10,000行)