Commit 52caf903 by zhengxinhan

update some scripts and niuren_pool.csv

parent d1eca1c6
name,institution,ACM Fellow,IEEE Fellow,AAAS,NAS ,NAE,NAI,American Academy of Arts and Sciences,European Academy of Sciences,European Academy of Sciences and Arts,Academia Europaea (AE),中国科学院,中国工程院,The Royal Society,The Royal Society of Canada,Turing Award
name,institution,ACM Fellow,IEEE Fellow,AAAS,NAS ,NAE,NAI,American Academy of Arts and Sciences,European Academy of Sciences,European Academy of Sciences and Arts,Academia Europaea (AE),中国科学院,中国工程院,The Royal Society,The Royal Society of Canada,Turing Award
"Alexa, Marc",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Arenas, Marcelo",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Bailey, Michael",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -179,7 +179,7 @@
"Zheng, Haitao",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Zhu, Wenwu",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Zorin, Denis",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Adleman, Leonard M.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Adleman, Leonard M.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Bader, David A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Balakrishnan, Meenakshi",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Braverman, Mark",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -256,7 +256,7 @@
"Arpaci-Dusseau, Andrea",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Arpaci-Dusseau, Remzi",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Banerjee, Suman",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Blum, Manuel",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0
"Blum, Manuel",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1
"Briand, Lionel",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Brooks, David",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Canetti, Ran",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -283,7 +283,7 @@
"Hambrusch, Susanne E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hellman, Martin",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1
"Higham, Nicholas",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hoare, C. Antony R.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Hoare, C. Antony R.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Hoos, Holger H.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Ilyas, Ihab F.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"John, Lizy Kurian",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -317,13 +317,13 @@
"Parhi, Keshab K.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Park, Haesun",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Plotkin, Gordon",,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0
"Rabin, Michael O.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Rabin, Michael O.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Ren, Kui",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Resnick, Paul",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Rosson, Marybeth",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Salzberg, Steven",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Seshia, Sanjit Arunkumar",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Shamir, Adi",,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0
"Shamir, Adi",,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1
"Shen, Heng Tao",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Sheth, Amit",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Smith, Adam",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -611,7 +611,7 @@
"Abramsky, Samson",,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0
"Adve, Vikram",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Afrati, Foto",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Bachman, Charles W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Bachman, Charles W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Borodin, Allan",,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0
"Bundy, Alan",,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0
"Cranor, Lorrie Faith",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -746,7 +746,7 @@
"Selman, Bart",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Shamir, Ron",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Shoham, Yoav",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Sifakis, Joseph",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0
"Sifakis, Joseph",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1
"Sinclair, Alistair",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Stein, Clifford",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Stoica, Ion",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -900,7 +900,7 @@
"Clarkson, Kenneth",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Cong, Jason",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Cook, Perry",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Cook, Stephen A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Cook, Stephen A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Davidson, Jack",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Dayal, Umeshwar",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Deng, Xiaotie",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -909,7 +909,7 @@
"Hanrahan, Pat",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0
"House, Charles H",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Humphrey, Watts S",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kay, Alan",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1.0
"Kay, Alan",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1
"Konstan, Joseph A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Levin, Roy",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Lowney, Paul G",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -946,7 +946,7 @@
"Constantine, Larry",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Dolev, Danny",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Downey, Rodney",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Feigenbaum, Edward A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Feigenbaum, Edward A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Felten, Edward",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0
"Fortnow, Lance",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Gao, Guang",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -964,7 +964,7 @@
"Olson, Gary M",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Padua, David",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Pausch, Randy",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Pnueli, Amir",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Pnueli, Amir",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Prasanna, Viktor",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Requicha, Aristides",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Roberts, Eric S",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1431,10 +1431,10 @@
"Whitted, J Turner",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wiederhold, Gio",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wong, Chak-Kuen",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Yao, Andrew C",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Yao, Andrew C",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Young, Paul",,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0
"Adams, James M",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Allen, Frances",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Allen, Frances",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Alt, Franz L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Atchison, William F.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Austing, Richard H",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1446,23 +1446,23 @@
"Borman, Lorraine",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Bradshaw, Charles L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Bricklin, Daniel S",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Brooks, Frederick",,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1.0
"Brooks, Frederick",,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1
"Brotz, Douglas K",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Burton, Richard R.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Canning, Richard G",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Carlson, Walter",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Cerf, Vinton",,1,0,0,1,1,0,1,0,0,0,0,0,0,0,1.0
"Cerf, Vinton",,1,0,0,1,1,0,1,0,0,0,0,0,0,0,1
"Chamberlin, Donald",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Codd, Edgar F",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Codd, Edgar F",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Coffman, Ed",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Corbato, Fernando J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Corbato, Fernando J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Cragon, Harvey G",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"D'Auria, Thomas A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"DeFanti, Thomas",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Denning, Peter J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Dennis, Jack",,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0
"Deutsch, L Peter",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Dijkstra, Edsger W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Dijkstra, Edsger W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Dunwell, Stephen",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Eckert, J Presper",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Elias, Peter",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1471,7 +1471,7 @@
"Evans, Bob O",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Feng, Tse-Yun",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Finerman, Aaron",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Floyd, Robert W.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Floyd, Robert W.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Flynn, Michael J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Frankston, Robert M",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Friedman, Frank L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1484,23 +1484,23 @@
"Green, Cordell",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Gries, David Joseph",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hammer, Carl",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hamming, Richard W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Hamming, Richard W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Harel, David",,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0
"Harris, Fred H",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hartmanis, Juris",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Hartmanis, Juris",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Hillis, William Daniel",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hopcroft, John E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hull, Tom",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hume, J N",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Huskey, Harry D",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kahan, William",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0
"Kahan, William",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1
"Kaplan, Ronald M",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Karp, Richard",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1.0
"Knuth, Donald E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Karp, Richard",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1
"Knuth, Donald E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Kuck, David J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kurtz, Thomas E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kurzweil, Ray",,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0
"Lampson, Butler W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Lampson, Butler W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Lavenberg, Stephen S",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Lederberg, Joshua",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Lee, John A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1511,7 +1511,7 @@
"Lynn, M Stuart",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Maisel, Herbert",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Manna, Zohar",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"McCarthy, John",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"McCarthy, John",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"McCluskey, Edward",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"McCracken, Daniel D",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"McJones, Paul R",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1526,18 +1526,18 @@
"Patterson, David",,1,1,0,1,0,0,1,0,0,0,0,0,0,0,1
"Poucher, William B",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Ralston, Anthony",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Rivest, Ronald L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Rivest, Ronald L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Rosenfeld, Azriel",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Rulifson, Jeff",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Sammet, Jean E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Scott, Dana S",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Siewiorek, Daniel",,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0
"Simon, Herbert A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Simon, Herbert A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Simons, Barbara B",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Sloan, Martha",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Slutz, Donald R",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Smith, Burton",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Stearns, Richard E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Stearns, Richard E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Steel, Thomas B",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Steele, Guy L",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Stone, Harold",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1546,9 +1546,9 @@
"Stroustrup, Bjarne",,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Suppes, Patrick",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Sussman, Gerald",,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0
"Sutherland, Ivan",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1.0
"Sutherland, Ivan",,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1
"Taft, Edward A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Tarjan, Robert E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Tarjan, Robert E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Taylor, Robert W",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Thacker, Charles P",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Traiger, Irv",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -1560,9 +1560,9 @@
"Wegbreit, Ben",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Weiss, Eric A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wheeler, David John",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wilkes, Maurice V.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Wilkes, Maurice V.",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Winograd, Shmuel",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wirth, Niklaus E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Wirth, Niklaus E",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Wolfson, Seymour J",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wulf, William A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"Zadeh, L A",,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -4105,7 +4105,7 @@
"Honjo, Kazuhiko",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hoole, S R",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hoorfar, Ahmad",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hopcroft, John",,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1.0
"Hopcroft, John",,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1
"Hopkinson, Philip",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hoque, Mahbub",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Hord, William",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -4502,7 +4502,7 @@
"Kafka, Richard",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kagoshima, Kenichi",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kahn, Joseph",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kahn, Robert",,0,1,0,1,1,0,1,0,0,0,0,0,0,0,1.0
"Kahn, Robert",,0,1,0,1,1,0,1,0,0,0,0,0,0,0,1
"Kahne, Stephen",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Kailath, Thomas",,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0
"Kaiser, William",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -8224,7 +8224,7 @@
"Wilheit, Thomas",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wilker, Charles",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wilkinson, C Dan",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Wilkinson, James",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Wilkinson, James",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1
"Wilkowski, Matthew",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Willems, F M",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
"Willems, Jacques",,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
......@@ -9289,7 +9289,7 @@
"Swanson, John A.","Swanson Analysis Services, Inc.",0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
"Tapia, Richard A.",,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0
"Tarjan, Robert E.",Princeton University,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0
"Thompson, Kenneth","Google, LLC",0,0,0,0,1,0,1,0,0,0,0,0,0,0,1.0
"Thompson, Kenneth","Google, LLC",0,0,0,0,1,0,1,0,0,0,0,0,0,0,1
"Ullman, Jeffrey D.",Stanford University,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0
"Dam, Andries van",Brown University,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0
"Vapnik, Vladimir N.",Columbia University,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
......@@ -10004,7 +10004,7 @@
"Meyer, Albert R",Massachusetts Institute of Technology,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0
"Cook, Stephen A.",University of Toronto,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0
"Rabin, Michael Oser",Harvard University,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0
"Scott, Dana Stewart",Carnegie Mellon University,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0
"Scott, Dana Stewart",Carnegie Mellon University,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1
"Lau, Alan Kin Tak",,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
"Carpinteri, Alberto",,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0
"Reali, Alessandro",,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
......@@ -10565,7 +10565,7 @@
"Burland, John Boscawen",Imperial College London,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Busquin, Philippe",European Parliament,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Bužek, Vladimír",Slovak Academy of Sciences,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Caldarelli, Guido","University of Venice ""Ca' Foscari""",0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Caldarelli, Guido",University of Venice "Ca' Foscari",0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Caldwell, Darwin",Italian Institute of Technology,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Campbell, David",,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Cantor, Brian",University of Bradford,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0
......@@ -10756,7 +10756,7 @@
"Lieb, Elliott Hershel",Princeton University,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0
"Liew, Kim Meow",City University of Hong Kong,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Linden, Paul Frederick",Cambridge University,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0
"Litov, Leandar","Sofia University ""St. Kl. Ohridski""",0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Litov, Leandar",Sofia University "St. Kl. Ohridski",0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Llewellyn-Smith, Christopher",,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Llorca, Javier",Polytechnic University of Madrid & IMDEA Materials Institute,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
"Loll, Renate",Radboud University Nijmegen,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0
......@@ -15998,18 +15998,19 @@
"Zuckermann, Martin",Simon Fraser University,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
"Zwiers, Francis",Environment Canada,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
"Zworski, Maciej",University of California,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
"Emerson, E. Allen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Naur, Peter",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Dahl, Ole-Johan",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Nygaard, Kristen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Gray, James Nicholas",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Engelbart, Douglas",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Reddy, Dabbala Rajagopal",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Milner, Arthur John Robin Gorell",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Cocke, John",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Ritchie, Dennis M.",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Iverson, Kenneth E.",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Backus, John",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Newell, Allen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Minsky, Marvin",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Perlis, Alan J",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0
"Emerson, E. Allen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Naur, Peter",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Dahl, Ole-Johan",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Nygaard, Kristen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Gray, James Nicholas",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Engelbart, Douglas",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Reddy, Dabbala Rajagopal",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Milner, Arthur John Robin Gorell",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Cocke, John",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Ritchie, Dennis M.",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Iverson, Kenneth E.",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Backus, John",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Newell, Allen",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Minsky, Marvin",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Perlis, Alan J",,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
"Wang, Zhongfeng",Nanjing University,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
import os
import sys
os.chdir(os.path.dirname(__file__))
import json
import pandas as pd
from tqdm import tqdm
import openpyxl
from copy import copy
# from joblib import Parallel, delayed
from utils import standardized_name, name_in_niuren_list
input_file_path = 'info/diannao.xlsx'
# input_file_path = 'info/论文被引用统计-陈老师-截止2025年X月XX日.xlsx'
output_file_path = 'output/diannao_牛人筛选.xlsx'
output_dir = os.path.dirname(output_file_path)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
niuren_pool_path = 'info/niuren_pool.csv'
true_niuren_papers_path = 'info/true_niuren_papers'
fake_niuren_papers_path = 'info/fake_niuren_papers'
# 全局变量,存储加载的数据
# NIUREN_POOL_NAMES = []
# TRUE_NIUREN_NAMES = []
# TRUE_NIUREN_PAPERS = []
# FAKE_NIUREN_NAMES = []
# FAKE_NIUREN_PAPERS = []
def load_niuren_pool(niuren_pool_path):
niuren_pool = pd.read_csv(niuren_pool_path, encoding='utf-8-sig')
niuren_pool_names = niuren_pool["name"].tolist()
niuren_pool_names = [name.replace("\xa0", " ") for name in niuren_pool_names] # 去除空格
return niuren_pool_names
def load_true_niuren(true_niuren, true_niuren_papers_path):
true_niuren["别名列表"] = None
true_niuren["别名列表"] = true_niuren["别名列表(各种奇奇怪怪的名字格式,比如first name和second name的顺序,以;分隔)"].apply(
lambda x: [standardized_name(i.strip()) for i in x.split(";") if i!=""] if isinstance(x, str) else []
)
true_niuren_names = []
true_niuren_papers = []
# 构建牛人姓名列表
for _, row in true_niuren.iterrows():
if pd.isna(row["姓名"]):
break
if row["别名列表"]:
true_niuren_names.append([standardized_name(row["姓名"])] + row["别名列表"])
else:
true_niuren_names.append(standardized_name(row["姓名"]))
# 构建牛人论文列表
for true_niuren_idx, _ in enumerate(true_niuren_names):
paper_file_path = os.path.join(true_niuren_papers_path, f"{true_niuren_idx+1}.xlsx")
if os.path.exists(paper_file_path):
papers_df = pd.read_excel(paper_file_path, usecols=[0])
papers_list = papers_df.iloc[:, 0].dropna().tolist()
papers_list = [paper.lower() for paper in papers_list]
true_niuren_papers.append(papers_list)
else:
true_niuren_papers.append([])
return true_niuren_names, true_niuren_papers
def load_fake_niuren(fake_niuren, fake_niuren_papers_path):
# 读取 "全局非牛人" 工作簿
fake_niuren_names = []
fake_niuren_papers = []
# 构建非牛人姓名列表
for _, row in fake_niuren.iterrows():
if pd.isna(row["姓名"]):
break
fake_niuren_names.append(standardized_name(row["姓名"]))
# 构建非牛人论文列表
for fake_niuren_idx, _ in enumerate(fake_niuren_names):
paper_file_path = os.path.join(fake_niuren_papers_path, f"{fake_niuren_idx+1}.xlsx")
if os.path.exists(paper_file_path):
papers_df = pd.read_excel(paper_file_path, usecols=[0])
papers_list = papers_df.iloc[:, 0].dropna().tolist()
papers_list = [paper.lower() for paper in papers_list]
fake_niuren_papers.append(papers_list)
else:
fake_niuren_papers.append([])
return fake_niuren_names, fake_niuren_papers
def check_niuren(authors, title, niuren_pool_names, true_niuren_names, true_niuren_papers, fake_niuren_names, fake_niuren_papers):
niuren = []
order = []
suspected_niuren = []
for author_idx, author in enumerate(authors):
if author == "":
continue
# 作者姓名能否在牛人池中找到
name_index = name_in_niuren_list(standardized_name(author), niuren_pool_names)
if name_index == -1:
continue
# 作者姓名能否在全局牛人中找到
true_name_index = name_in_niuren_list(standardized_name(author), true_niuren_names)
if true_name_index != -1:
if title.strip().lower() in true_niuren_papers[true_name_index]:
niuren.append(author)
order.append(author_idx + 1)
continue
# 作者姓名能否在全局非牛人中找到
fake_name_index = name_in_niuren_list(standardized_name(author), fake_niuren_names)
if fake_name_index != -1:
if title.strip().lower() in fake_niuren_papers[fake_name_index]:
continue
suspected_niuren.append([author, name_index+1])
niuren_str = ";".join(niuren)
order_str = ";".join([str(i) for i in order])
suspected_niuren_str = ";".join([f"{name}({index})" for name, index in suspected_niuren])
return niuren_str, order_str, suspected_niuren_str
def process_row(index, row, niuren_pool_names, true_niuren_names, true_niuren_papers, fake_niuren_names, fake_niuren_papers):
try:
authors = row.get('引文作者', '')
title = row.get('引文名称', '')
if not isinstance(authors, str):
return index, "", "", ""
authors = [i.strip() for i in authors.split(";") if i!=""]
niuren_true, niuren_true_order, suspected_niuren = check_niuren(authors, title, niuren_pool_names, true_niuren_names, true_niuren_papers, fake_niuren_names, fake_niuren_papers)
return index, niuren_true, niuren_true_order, suspected_niuren
except Exception as e:
print(f"处理行 {index} 时发生错误: {e}")
return index, "", "", ""
if __name__ == "__main__":
print("正在读取全局牛人...")
true_niuren = pd.read_excel(input_file_path, sheet_name="全局牛人")
print("正在读取全局非牛人...")
fake_niuren = pd.read_excel(input_file_path, sheet_name="全局非牛人")
print("正在处理牛人池...")
niuren_pool_names = load_niuren_pool(niuren_pool_path)
print("正在处理真牛人数据...")
true_niuren_names, true_niuren_papers = load_true_niuren(true_niuren,true_niuren_papers_path)
print("正在处理非牛人数据...")
fake_niuren_names, fake_niuren_papers = load_fake_niuren(fake_niuren,fake_niuren_papers_path)
# 读取表头(第4行作为列名)
original_header = pd.read_excel(input_file_path, header=2) # 第4行,0索引为3
column_names = original_header.columns.tolist()
# 读取数据(从第5行开始)
input_df = pd.read_excel(input_file_path, skiprows=3, header=None, names=column_names)
# 输出表头和数据的基本信息
print("表头元素:")
print(column_names)
print("\n数据行数:", input_df.shape[0])
print("数据列数:", input_df.shape[1])
# 检查列是否存在,不存在则添加
if '疑似牛人' not in input_df.columns:
input_df['疑似牛人'] = None
# 确保牛人相关列存在
niuren_col = '牛人\n(参考全局牛人列表)'
niuren_order_col = '牛人署名顺序\n'
# 如果列不存在,添加它们
if niuren_col not in input_df.columns:
input_df[niuren_col] = None
if niuren_order_col not in input_df.columns:
input_df[niuren_order_col] = None
print("开始并行处理数据...")
# 并行处理,将加载的数据传递给每个进程
# results = Parallel(n_jobs=-1)(
# results = Parallel(n_jobs=1)(
# delayed(process_row)(
# index, row,
# niuren_pool_names, true_niuren_names, true_niuren_papers,
# fake_niuren_names, fake_niuren_papers
# )
# for index, row in tqdm(input_df.iterrows())
# )
results = []
for index, row in tqdm(input_df.iterrows(), total=input_df.shape[0]):
result = process_row(
index, row,
niuren_pool_names, true_niuren_names, true_niuren_papers,
fake_niuren_names, fake_niuren_papers
)
results.append(result)
for index, niuren_true, niuren_true_order, suspected_niuren in results:
input_df.at[index, niuren_col] = niuren_true
input_df.at[index, niuren_order_col] = niuren_true_order
input_df.at[index, '疑似牛人'] = suspected_niuren
# 打开原始Excel文件
print("正在读取原始Excel文件以保留格式...")
wb_original = openpyxl.load_workbook(input_file_path)
# 创建新工作簿
wb_new = openpyxl.Workbook()
# 删除默认创建的空白工作表
if 'Sheet' in wb_new.sheetnames:
del wb_new['Sheet']
# 复制所有工作表
for sheet_name in wb_original.sheetnames:
ws_original = wb_original[sheet_name]
ws_new = wb_new.create_sheet(sheet_name)
# 复制工作表属性
ws_new.sheet_properties = copy(ws_original.sheet_properties)
ws_new.sheet_format = copy(ws_original.sheet_format)
# 复制整个工作表的内容和格式
for row in ws_original.rows:
for cell in row:
new_cell = ws_new.cell(row=cell.row, column=cell.column, value=cell.value)
if cell.has_style:
new_cell.font = copy(cell.font)
new_cell.border = copy(cell.border)
new_cell.fill = copy(cell.fill)
new_cell.number_format = copy(cell.number_format)
new_cell.protection = copy(cell.protection)
new_cell.alignment = copy(cell.alignment)
# 复制合并单元格
for merged_cell_range in ws_original.merged_cells.ranges:
ws_new.merge_cells(str(merged_cell_range))
# 获取主工作表(第一个工作表)
main_sheet_name = wb_original.sheetnames[0]
ws_new = wb_new[main_sheet_name]
# 更新主工作表中的牛人相关数据
print("正在更新主工作表中的牛人数据...")
# 找出列索引(Excel中列是从1开始的)
niuren_col_index = None
niuren_order_col_index = None
suspected_niuren_col_index = None
# 获取第4行(索引从1开始)的所有单元格值
header_row = [cell.value for cell in ws_new[4]]
# 在这些值中查找列名对应的索引
for i, cell_value in enumerate(header_row, start=1):
if cell_value == niuren_col:
niuren_col_index = i
elif cell_value == niuren_order_col:
niuren_order_col_index = i
elif cell_value == '疑似牛人':
suspected_niuren_col_index = i
# 如果找不到列,添加新列
max_col = ws_new.max_column
if niuren_col_index is None:
niuren_col_index = max_col + 1
ws_new.cell(row=4, column=niuren_col_index, value=niuren_col)
max_col += 1
if niuren_order_col_index is None:
niuren_order_col_index = max_col + 1
ws_new.cell(row=4, column=niuren_order_col_index, value=niuren_order_col)
max_col += 1
if suspected_niuren_col_index is None:
suspected_niuren_col_index = max_col + 1
ws_new.cell(row=4, column=suspected_niuren_col_index, value='疑似牛人')
# 更新数据(从第8行开始)
# for i, row in input_df.iterrows():
for i, (index, row) in enumerate(input_df.iterrows(), start=7):
# excel_row = i + 8 # 转换为Excel的行号(从1开始)
print(i, niuren_col_index)
# 只更新牛人相关的三列
ws_new.cell(row=i, column=niuren_col_index, value=row[niuren_col])
ws_new.cell(row=i, column=niuren_order_col_index, value=row[niuren_order_col])
ws_new.cell(row=i, column=suspected_niuren_col_index, value=row['疑似牛人'])
# 保存新Excel文件
print(f"正在保存为Excel格式 {output_file_path} ...")
wb_new.save(output_file_path)
print(f"成功保存到 {output_file_path},保留了原始格式")
print("处理完成!")
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment