鐢≒andas璇诲彇CSV锛岀湅杩欑瘒灏卞�浜�
01 璇�硶
鍩烘湰璇�硶濡備笅锛宲d涓哄�鍏�andas妯″潡鐨勫埆鍚嶏細
pd.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datet鐢≒ime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)
涓€鑸�儏鍐典笅锛屼細灏嗚�鍙an栧埌鐨勬暟鎹�繑鍥炰竴涓狣ataFrame锛屽綋鐒舵寜鐓у弬鏁扮殑瑕佹眰浼氳繑鍥炴寚瀹氱殑绫诲瀷銆�
02 鏁版嵁鍐呭�
filepath_or_buffer涓虹�涓€涓�弬鏁帮紝娌℃湁榛樿�鍊硷紝涔熶笉鑳戒负绌猴紝鏍规嵁Python鐨勮�娉曪紝绗�竴涓�弬鏁颁紶鍙傛椂鍙�互涓嶅啓鍙傛暟鍚嶃€傚彲浠ヤ紶鏂囦欢璺�緞锛�
# 鏀�寔鏂囦欢璺�緞鎴栬€呮枃浠剁紦鍐插�璞� # 鏈�湴鐩稿�璺�緞 pd.read_csv('data/data.csv') # 娉ㄦ剰鐩�綍灞傜骇 pd.read_csv('data.csv') # 濡傛灉鏂囦欢涓庝唬鐮佹枃浠跺湪鍚屼竴鐩�綍涓� pd.read_csv('data/my/my.data') # CSV鏂囦欢鐨勬墿灞曞悕涓嶄竴瀹氭槸.csv # 鏈�湴缁濆�璺�緞 pd.read_csv('/user/gairuo/data/data.csv') # 浣跨敤URL pd.read_csv('https://www.gairuo.com/file/data/dataset/GDP-China.csv')
闇€瑕佹敞鎰忕殑鏄�紝Mac涓�拰Windows涓�矾寰勭殑鍐欐硶涓嶄竴鏍凤紝涓婁緥鏄疢ac涓�殑鍐欐硶锛學indows涓�殑鐩稿�璺�緞鍜岀粷瀵硅矾寰勯渶瑕佸垎鍒�崲鎴愮被浼�'datadata.csv'鍜�'E: datadata.csv'鐨勫舰寮忋€傚彟澶栵紝璺�緞灏介噺涓嶈�浣跨敤涓�枃锛屽惁鍒欑▼搴忓�鏄撴姤閿欙紝杩欐剰鍛崇潃浣犲瓨鏀炬暟鎹�枃浠剁殑鐩�綍瑕佸敖閲忕敤鑻辨枃鍛藉悕銆�
鍙�互浼犳暟鎹�瓧绗︿覆锛屽嵆CSV涓�殑鏁版嵁瀛楃�浠ュ瓧绗︿覆褰㈠紡鐩存帴浼犲叆锛�
from io import StringIO data = ('col1,col2,col3 ' 'a,b,1 ' 'a,b,2 ' 'c,d,3') pd.read_csv(StringIO(data)) pd.read_cdasv(StringIO(data), dtype=object)
涔熷彲浠ヤ紶鍏ュ瓧鑺傛暟鎹�細
from io import BytesIO data = (b'word,length ' b'Trxc3xa4umen,7 ' b'Grxc3xbcxc3x9fe,5') pd.read_csv(BytesIO(data)) 03 鍒嗛殧绗�
sep鍙傛暟鏄�瓧绗﹀瀷鐨勶紝浠h〃姣忚�鏁版嵁鍐呭�鐨勫垎闅旂�鍙凤紝榛樿�鏄�€楀彿锛屽彟澶栧父瑙佺殑杩樻湁鍒惰〃绗︼紙 锛夈€佺┖鏍肩瓑锛屾牴鎹�暟鎹�殑瀹為檯鎯呭喌浼犲€笺€�
# 鏁版嵁鍒嗛殧绗﹂粯璁ゆ槸閫楀彿锛屽彲浠ユ寚瀹氫负鍏朵粬绗﹀彿 pd.read_csv(data, sep=' ') # 鍒惰〃绗﹀垎闅攖ab pd.read_table(data) # read_table 榛樿�鏄�埗琛ㄧ�鍒嗛殧tab pd.read_csv(data, sep='|') # 鍒惰〃绗﹀垎闅攖ab pd.read_csv(data,sep="(?<!a)|(?!1)", engine='python') # 浣跨敤姝e垯琛ㄨ揪寮�
pd.read_csv杩樻彁渚涗簡涓€涓�弬鏁板悕涓篸elimiter鐨勫畾鐣岀�锛岃繖鏄�竴涓��閫夊垎闅旂�锛屾槸sep鐨勫埆鍚嶏紝鏁堟灉鍜宻ep涓€鏍枫€傚�鏋滄寚瀹氳�鍙傛暟锛屽垯sep鍙傛暟澶辨晥銆�
04 琛ㄥご
header鍙傛暟鏀�寔鏁村瀷鍜岀敱鏁村瀷缁勬垚鐨勫垪琛�紝鎸囧畾绗�嚑琛屾槸琛ㄥご锛岄粯璁や細鑷�姩鎺ㄦ柇鎶婄�涓€琛屼綔涓鸿〃澶淬€�
pd.read_csv(data, header=0) # 绗�竴琛� pd.read_csv(data, header=None) # 娌℃湁琛ㄥご pd.read_csv(data, header=[0,1,3]) # 澶氬眰绱㈠紩MultiIndex 娉ㄦ剰锛氬�鏋渟kip_blank_lines=Trues璇锛宧eader鍙傛暟灏嗗拷鐣ョ┖琛屽拰娉ㄩ噴琛�, 鍥犳�header=0琛ㄧず绗�竴琛屾暟鎹�€岄潪鏂囦欢鐨勭�涓€琛屻€� 05 鍒楀悕
names鐢ㄦ潵鎸囧畾鍒楃殑鍚嶇О锛屽畠鏄�竴涓�被浼煎垪琛ㄧ殑搴忓垪锛屼笌鏁版嵁涓€涓€瀵瑰簲銆傚�鏋滄枃浠朵笉鍖呭惈鍒楀悕锛岄偅涔堝簲璇ヨ�缃甴eader=None锛屽垪鍚嶅垪琛ㄤ腑涓嶅厑璁告湁閲嶅�鍊笺€�
pd.read_csv(data, names=['鍒�1', '鍒�2']) # 鎸囧畾鍒楀悕鍒楄〃 pd.read_csv(data, names=['鍒�1', '鍒�2'], header=None) 06 绱㈠紩
index_col鐢ㄦ潵鎸囧畾绱㈠紩鍒楋紝鍙�互鏄��绱㈠紩鐨勫垪缂栧彿鎴栬€呭垪鍚嶏紝濡傛灉缁欏畾涓€涓�簭鍒楋紝鍒欐湁澶氫釜琛岀储寮曘€侾andas涓嶄細鑷�姩灏嗙�涓€鍒椾綔涓虹储寮曪紝涓嶆寚瀹氭椂浼氳嚜鍔ㄤ娇鐢ㄤ互0寮€濮嬬殑鑷�劧绱㈠紩銆�
# 鏀�寔int銆乻tr銆乮nt搴忓垪銆乻tr搴忓垪銆丗alse锛岄粯璁や负None pd.read_csv(data, index_col=False) # 涓嶅啀浣跨敤棣栧垪浣滀负绱㈠紩 pd.read_csv(data, index_col=0) # 绗�嚑鍒楁槸绱㈠紩 pd.read_csv(data, index_col='骞翠唤') # 鎸囧畾鍒楀悕 pd.read_csv(data, index_col=['a','b']) # 澶氫釜绱㈠紩 pd.read_csv(data, index_col=[0, 3]) # 鎸夊垪绱㈠紩鎸囧畾澶氫釜绱㈠紩 07 浣跨敤閮ㄥ垎鍒�
濡傛灉鍙�娇鐢ㄦ暟鎹�殑閮ㄥ垎鍒楋紝鍙�互鐢╱secols鏉ユ寚瀹氾紝杩欐牱鍙�互鍔犲揩鍔犺浇閫熷害骞堕檷浣庡唴瀛樻秷鑰椼€�
# 鏀�寔绫讳技鍒楄〃鐨勫簭鍒楀拰鍙�皟鐢ㄥ�璞� # 璇诲彇閮ㄥ垎鍒� pd.read_csv(data, usecols=[0,4,3]) # 鎸夌储寮曞彧璇诲彇鎸囧畾鍒楋紝涓庨『搴忔棤鍏� pd.read_csv(data, usecols=['鍒�1', '鍒�5']) # 鎸夊垪鍚嶏紝鍒楀悕蹇呴』瀛樺湪 诲彇 # 鎸囧畾鍒楅『搴忥紝鍏跺疄鏄痙f鐨勭瓫閫夊姛鑳� pd.read_csv(data, usecols=['鍒�1', '鍒�5'])[['鍒�5', '鍒�1']] # 浠ヤ笅鐢╟allable鏂瑰紡鍙�互宸у�鎸囧畾椤哄簭锛宨n鍚庨潰鐨勬槸鎴戜滑瑕佺殑椤哄簭 pd.read_csv(data, usecols=lambda x: x.upper() in ['COL3', 'COL1']) 08 杩斿洖搴忓垪
灏唖queeze璁剧疆涓篢rue锛屽�鏋滄枃浠跺彧鍖呭惈涓€鍒楋紝鍒欒繑鍥炰竴涓猄eries锛屽�鏋滄湁澶氬垪锛屽垯杩樻槸杩斿洖DataFrame銆�
# 甯冨皵鍨嬶紝榛樿�涓篎alse # 涓嬩緥鍙�彇涓€鍒楋紝浼氳繑鍥炰竴涓猄eries pd.read_csv(data, usecols=[0], squeeze=True) # 鏈変袱鍒楀垯杩樻槸df pd.read_csv(data, usecols=[0, 2], squeeze=True) 09 琛ㄥご鍓嶇紑
濡傛灉鍘熷�鏁版嵁娌℃湁鍒楀悕锛屽彲浠ユ寚瀹氫竴涓�墠缂€鍔犲簭鏁扮殑鍚嶇О锛屽�n0銆乶1锛岄€氳繃prefix鍙傛暟鎸囧畾鍓嶇紑銆�
# 鏍煎紡涓哄瓧绗﹀瀷str # 琛ㄥご涓篶_0銆乧_2 pd.read_csv(data, prefix='c_', header=None) 10 澶勭悊閲嶅�鍒楀悕
濡傛灉璇ュ弬鏁颁负True锛屽綋鍒楀悕鏈夐噸澶嶆椂锛岃В鏋愬垪鍚嶅皢鍙樹负X, X.1, 鈥�, X.N锛岃€屼笉鏄疿, 鈥�, X銆傚�鏋滆�鍙傛暟涓篎alse锛岄偅涔堝綋鍒楀悕涓�湁閲嶅�鏃讹紝鍓嶅垪灏嗕細琚�悗鍒楄�鐩栥€�
# 甯冨皵鍨嬶紝榛樿�涓篢rue data = 'a,b,a 0,1,2 3,4,5' pd.read_csv(StringIO(data), mangle_dupe_cols=True) # 琛ㄥご涓篴 b a.1 # False浼氭姤ValueError閿欒� 11 鏁版嵁绫诲瀷 dtype鍙�互鎸囧畾鍚勬暟鎹�垪鐨勬暟鎹�被鍨嬨€�&nCSbsp; # 浼犲叆绫诲瀷鍚嶇О锛屾垨鑰呬互鍒楀悕涓洪敭銆佷互鎸囧畾绫诲瀷涓哄€肩殑瀛楀吀 pd.read_csv(data, dtype=np.float64) # 鎵€鏈夋暟鎹�潎涓烘�鏁版嵁绫诲瀷 pd.read_csv(data, dtype={'c1':np.float64, 'c2': str}) # 鎸囧畾瀛楁�鐨勭被鍨� pd.read_csv(data, dtype=[datetime, datetime, str, float]) # 渚濇�鎸囧畾 12 寮曟搸
浣跨敤鐨勫垎鏋愬紩鎿庡彲浠ラ€夋嫨C鎴朠ython銆侰璇�█鐨勯€熷害鏈€蹇�紝Python璇�█鐨勫姛鑳芥渶涓哄畬鍠勶紝涓€鑸�儏鍐典笅锛屼笉闇€瑕佸彟琛屾寚瀹氥€�
# 鏍煎紡涓篹ngine=None锛屽叾涓�彲閫夊€兼湁{'c', 'python'} pd.read_csv(data, engine='c') 13 鍒楁暟鎹��鐞�
浣跨敤converters鍙傛暟瀵瑰垪鐨勬暟鎹�繘琛岃浆鎹�紝鍙傛暟涓�寚瀹氬垪鍚嶄笌閽堝�姝ゅ垪鐨勫�鐞嗗嚱鏁帮紝鏈€缁堜互瀛楀吀鐨勫舰寮忎紶鍏ワ紝瀛楀吀鐨勯敭鍙�互鏄�垪鍚嶆垨鑰呭垪鐨勫簭鍙枫€�
# 瀛楀吀鏍煎紡锛岄粯璁や负None data = 'x,y a,1 b,2' def foo(p): return p+'s' # x搴旂敤鍑芥暟锛寉浣跨敤lambda pd.read_csv(StringIO(data), converters={'x': foo, 'y': lambda x:&V锛nbsp;x*3}) # 浣跨敤鍒楃储寮� pd.read_csv(StringIO(data), converters={0: foo, 1: lambda x: x*3}) 14 鐪熷亣鍊艰浆鎹�
浣跨敤true_values鍜宖alse_values灏嗘寚瀹氱殑鏂囨湰鍐呭�杞�崲涓篢rue鎴朏alse锛屽彲浠ョ敤鍒楄〃鎸囧畾澶氫釜鍊笺€�
# 鍒楄〃锛岄粯璁や负None data = ('a,b,c 1,Yes,2 3,No,4') pd.read_csv(StringIO(data), true_values=['Yes'], false_values=['No']) 15 璺宠繃鎸囧畾琛�
濡備笅璺宠繃闇€瑕佸拷鐣ョ殑琛屾暟锛堜粠鏂囦欢寮€濮嬪�绠楄捣锛夋垨闇€瑕佸拷鐣ョ殑琛屽彿鍒楄〃锛堜粠0寮€濮嬶級锛�
# 绫讳技鍒楄〃鐨勫簭鍒楁垨鑰呭彲璋冪敤瀵硅薄 # 璺宠繃鍓嶄笁琛� pd.read_csv(data, skiprows=2) # 璺宠繃鍓嶄笁琛� pd.read_csv(data, skiprows=range(2)) # 璺宠繃鎸囧畾琛� pd.read_csv(data, skiprows=[24,234,141]) # 璺宠繃鎸囧畾琛� pd.read_csv(data, skiprows=np.array([2, 6, 11])) # 闅旇�璺宠繃 pd.read_csv(data, skiprows=lambda x: x % 2 != 0)
灏鹃儴璺宠繃锛屼粠鏂囦欢灏鹃儴寮€濮嬪拷鐣ワ紝C寮曟搸涓嶆敮鎸併€�
# int绫诲瀷, 榛樿�涓�0 pd.岀湅read_csv(filename, skipfooter=1) # 鏈€鍚庝竴琛屼笉鍔犺浇
skip_blank_lines鎸囧畾鏄�惁璺宠繃绌鸿�锛屽�鏋滀负True锛屽垯璺宠繃绌鸿�锛屽惁鍒欐暟鎹��涓篘aN銆�
# 甯冨皵鍨嬶紝榛樿�涓篢rue # 涓嶈烦杩囩┖琛� pd.read_csv(data, skip_blank_lines=False)
濡傛灉skip_blank_lines=True锛宧eader鍙傛暟灏嗗拷鐣ョ┖琛屽拰娉ㄩ噴琛�, 鍥犳�header=0琛ㄧず绗�竴琛屾暟鎹�€岄潪鏂囦欢鐨勭�涓€琛屻€�
16 璇诲彇鎸囧畾琛�
nrows鍙傛暟鐢ㄤ簬鎸囧畾闇€瑕佽�鍙栫殑琛屾暟锛屼粠鏂囦欢绗�竴琛岀畻璧凤紝缁忓父鐢ㄤ簬杈冨ぇ鐨勬暟鎹�紝鍏堝彇閮ㄥ垎杩涜�浠g爜缂栧啓銆�
# int绫诲瀷锛岄粯璁や负None pd.read_csv(data, nrows=1000) 17 绌哄€兼浛鎹�
na_values鍙傛暟鐨勫€兼槸涓€缁勭敤浜庢浛鎹�A/NaN鐨勫€笺€傚�鏋滀紶鍙傦紝闇€瑕佹寚瀹氱壒瀹氬垪鐨勭┖鍊笺€備互涓嬪€奸粯璁や細琚��瀹氫负绌哄€硷細
['-1.#IND', '1.#QNAN', '1.#IND', '-1.#QNAN', '#N/A N/A', '#N/A', 'N/A', 'n/a', 'NA', '#NA', 'NULL', 'null', 'NaN', '-NaN', 'nan', '-nan', '']
浣跨敤na_values鏃堕渶瑕佸叧娉ㄤ笅闈�eep_default_na鐨勯厤鍚堜娇鐢ㄥ拰褰卞搷锛�
# 鍙�紶鍏ユ爣閲忋€佸瓧绗︿覆銆佺被浼煎垪琛ㄥ簭鍒楀拰瀛楀吀锛岄粯璁や负None # 5鍜�5.0浼氳�璁や负鏄疦aN pd.read_csv(data, na_values=[5]) # ?浼氳�璁や负鏄疦aN pd.read_csv(data, na_values='?') # 绌哄€间负NaN pd.read_csv(data, keep_default_na=False, na_values=杩欑[""]) # 瀛楃�NA鍜屽瓧绗�0浼氳�璁や负鏄疦aN pd.read_csv(data, keep_default_na=False, na_values=["NA", "0"]) # Nope浼氳�璁や负鏄疦aN pd.read_csv(data, na_values=["Nope"]) # a銆乥銆乧鍧囪�璁や负鏄疦aN锛岀瓑浜巒a_values=['a','b','c'] pd.read_csv(data, na_values='abc') # 鎸囧畾鍒楃殑鎸囧畾鍊间細琚��涓烘槸NaN pd.read_csv(data, na_values={'c':3, 1:[2,5]}) 18 淇濈暀榛樿�绌哄€�
鍒嗘瀽鏁版嵁鏃舵槸鍚﹀寘鍚�粯璁ょ殑NaN鍊硷紝鏄�惁鑷�姩璇嗗埆銆傚�鏋滄寚瀹歯a_values鍙傛暟锛屽苟涓� keep_default_na=False锛岄偅涔堥粯璁ょ殑NaN灏嗚�瑕嗙洊锛屽惁鍒欐坊鍔犮€俴eep_default_na鍜宯a_values鐨勫叧绯昏�琛�3-2銆�
璇存槑锛氬�鏋渘a_filter涓篎alse锛堥粯璁や负True锛夛紝閭d箞keep_default_na鍜宯a_values鍙傛暟鍧囨棤鏁堛€� # 甯冨皵鍨嬶紝榛樿�涓篢rue # 涓嶈嚜鍔ㄨ瘑鍒�┖鍊� pd.read_csv(data, keep_default_na=False)
na_filter涓烘槸鍚︽�鏌ヤ涪澶卞€硷紙绌哄瓧绗︿覆鎴栫┖鍊硷級銆傚�浜庡ぇ鏂囦欢鏉ヨ�锛屾暟鎹�泦涓�病鏈夌┖鍊硷紝璁惧畾na_filter=False鍙�互鎻愬崌璇诲彇閫熷害銆�
# 甯冨皵鍨嬶紝榛樿�涓篢rue pd.read_csv(data, na_filter=False) # 涓嶆�鏌� 19 鏃ユ湡鏃堕棿瑙f瀽
鏃ユ湡鏃堕棿瑙f瀽鍣ㄥ弬鏁癲ate_parser鐢ㄤ簬瑙f瀽鏃ユ湡鐨勫嚱鏁帮紝榛樿�浣跨敤dateutil.parser.parser鏉ュ仛杞�崲銆�
濡傛灉涓烘煇浜涙垨鎵€鏈夊垪鍚�敤浜唒arse_dates锛屽苟涓攄atetime瀛楃�涓茬殑鏍煎紡閮界浉鍚岋紝鍒欓€氳繃璁剧疆infer_datetime_format=True锛屽彲浠ュぇ澶ф彁楂樿В鏋愰€熷害锛宲andas灏嗗皾璇曟帹鏂瘒灏璬atetime瀛楃�涓茬殑鏍煎紡锛岀劧鍚庝娇鐢ㄦ洿蹇�殑鏂规硶瑙f瀽瀛楃�涓诧紝浠庤€屽皢瑙f瀽閫熷害鎻愰珮5锝�10鍊嶃€傚�鏋滄棤娉曞�鏁村垪鍋氬嚭姝g‘鐨勬帹鏂�В鏋愶紝Pandas灏嗚繑鍥炲埌姝e父鐨勮В鏋愭ā寮忋€�
涓嬮潰鏄�竴浜涘彲鑷�姩鎺ㄦ柇鐨勬棩鏈熸椂闂村瓧绗︿覆绀轰緥锛屽畠浠�兘琛ㄧず2020骞�12鏈�30鏃�00:00:00锛�
"20201230" "2020/12/30" "20201230 00:00:00" "12/30/2020 00:00:00" "30/Dec/2020 00:00:00" "30/December/2020 00:00:00" # 瑙f瀽鏃堕棿鐨勫嚱鏁板悕锛岄粯璁や负None # 鎸囧畾鏃堕棿瑙f瀽搴擄紝榛樿�鏄痙ateutil.parser.parser date_parser = pd.io.date_converters.parse_date_time date_parser = lambda x: pd.to_datetime(x, utc=True, format='%d%b%Y') date_parser = lambda d: pd.datetime.strptime(d, '%d%b%Y') # 浣跨敤 pd.read_csv(data, parse_dates=['骞翠唤'], date_parserdate_parser=date_parser)
parse_dates鍙傛暟鐢ㄤ簬瀵规椂闂存棩鏈熻繘琛岃В鏋愩€�
# 甯冨皵鍨嬨€佹暣鍨嬬粍鎴愮殑鍒楄〃銆佸垪琛ㄧ粍鎴愮殑鍒楄〃鎴栬€呭瓧鍏革紝榛樿�涓篎alse pd.read_csv(data, parse_dates=True) # 鑷�姩瑙f瀽鏃ユ湡鏃堕棿鏍煎紡 pd.read_csv(data, parse_dates=['骞翠唤']) # 鎸囧畾鏃ユ湡鏃堕棿瀛楁�杩涜�瑙f瀽 # 灏嗙�1銆�4鍒楀悎骞惰В鏋愭垚鍚嶄负鈥滄椂闂粹€濈殑鏃堕棿绫诲瀷鍒� pd.read_csv(data, parse_dates={'鏃堕棿':[1,4]})
濡傛灉infer_dateti卞�me_format琚��瀹氫负True骞朵笖parse_dates鍙�敤锛岄偅涔圥andas灏嗗皾璇曡浆鎹�负鏃ユ湡绫诲瀷銆�
# 甯冨皵鍨嬶紝榛樿�涓篎alse pd.read_csv(data, parse_dates=True, infer_datetime_format=True)
濡傛灉鐢ㄤ笂鏂囦腑鐨刾arse_dates鍙傛暟灏嗗�鍒楀悎骞跺苟瑙f瀽鎴愪竴涓�椂闂村垪锛岃�缃甼eep_date_col鐨勫€间负True鏃讹紝浼氫繚鐣欒繖浜涘師鏈夌殑鏃堕棿缁勬垚鍒楋紱濡傛灉璁剧疆涓篎alse锛屽垯涓嶄繚鐣欒繖浜涘垪銆�
# 甯冨皵鍨嬶紝榛樿�涓篎alse pd.read_csv(data, parse_dates=[[1, 2], [1, 3]], keep_date_col=True)
瀵逛簬DD/MM鏍煎紡鐨勬棩鏈熺被鍨嬶紝濡傛棩鏈�2020-01-06锛屽�鏋渄ayfirst=True锛屽垯浼氳浆鎹㈡垚2020-06-01銆�
# 甯冨皵鍨嬶紝榛樿�涓篎alse pd.read_csv(data, dayfirst=True, parse_dates=[0])
cache_dates濡傛灉涓篢rue锛屽垯浣跨敤鍞�竴鐨勮浆鎹㈡棩鏈熺紦瀛樻潵搴旂敤datetime杞�崲銆傝В鏋愰噸澶嶇殑鏃ユ湡瀛楃�涓诧紝灏ゅ叾鏄�甫鏈夋椂鍖哄亸绉荤殑鏃ユ湡瀛楃�涓叉椂锛屽彲鑳戒細澶уぇ鎻愰珮閫熷害銆�
# 甯冨皵鍨嬶紝榛樿�涓篢rue pd.read_csv(data, cache_dates=False) 20 鏂囦欢澶勭悊
浠ヤ笅鏄�竴浜涘�璇诲彇鏂囦欢瀵硅薄鐨勫�鐞嗘柟娉曘€俰terator鍙傛暟濡傛灉璁剧疆涓篢rue锛屽垯杩斿洖涓€涓猅extFileReader瀵硅薄锛屽苟鍙�互瀵瑰畠杩涜�杩�唬锛屼互渚块€愬潡澶勭悊鏂囦欢銆�
# 甯冨皵鍨嬶紝榛樿�涓篎alse pd.read_csv(data, iterator=True) chunksize鎸囧畾鏂囦欢鍧楃殑澶у皬锛屽垎鍧楀�鐞嗗ぇ鍨婥SV鏂囦欢銆� # 鏁村瀷锛岄粯璁や负None pd.read_csv(data, chunksize=100000) # 鍒嗗潡澶勭悊澶ф枃浠� df_iterator = pd.read_csv(file,&nbs浜�p;chunksize=50000) def process_dataframe(df): pass return processed_df for index,df_tmp in enumerate(df_iterator): df_processed = process_dataframe(df_tmp) if index > 0: df_processed.to_csv(path) else: df_processed.to_csv(path, mode='a', header=False)
compression锛堝帇缂╂牸寮忥級鐢ㄤ簬瀵圭�鐩樻暟鎹�繘琛屽嵆鏃惰В鍘嬬缉銆傚�鏋滀负鈥渋nfer鈥濓紝涓攆ilepath_or_buffer鏄�互.gz銆�.bz2銆�.zip鎴�.xz缁撳熬鐨勫瓧绗︿覆锛屽垯浣跨敤gzip銆乥z2銆亃ip鎴杧z锛屽惁鍒欎笉杩涜�瑙e帇缂┿€傚�鏋滀娇鐢▃ip锛屽垯ZIP鏂囦欢蹇呴』浠呭寘鍚�竴涓��璇诲彇鐨勬暟鎹�枃浠躲€傝�缃�负None灏嗕笉杩涜�瑙e帇缂┿€�
# 鍙�€夊€兼湁'infer'銆�'gzip'銆�'bz2'銆�'zip'銆�'xz'鍜孨one锛岄粯璁や负'infer' pd.read_csv('sample.tar.gz', compression='gzip')
encoding锛堢紪鐮侊級鎸囧畾瀛楃�闆嗙被鍨嬶紝閫氬父鎸囧畾涓�'utf-8'銆�
# 瀛楃�鍨嬶紝榛樿�涓篘one pd.read_csv('gairuo.csv', encoding='utf8') pd.read_csv("gairuo.csv",encoding="gb2312") # 甯歌�涓�枃 21 绗﹀彿
浠ヤ笅鏄��鏂囦欢涓�殑涓€浜涙暟鎹��鍙疯繘琛岀殑鐗鐢≒规畩璇嗗埆澶勭悊銆傚�涓嬭�缃�崈鍒嗕綅鍒嗛殧绗�housands锛�
# 瀛楃�鍨嬶紝榛樿�涓篘one pd.read_csv('test.csv', thousands=',') # 閫楀彿鍒嗛殧
灏忔暟鐐筪ecimal锛岃瘑鍒�负灏忔暟鐐圭殑瀛楃�銆�
# 瀛楃�涓诧紝榛樿�涓�'.' pd.read_csv(data, decimal=",")
琛岀粨鏉熺�lineterminator锛屽皢鏂囦欢鍒嗘垚鍑犺�鐨勫瓧绗︼紝浠呭�C瑙f瀽鍣ㄦ湁鏁堛€�
# 闀垮害涓�1鐨勫瓧绗︿覆锛岄粯璁や负None data = 'a,b,c~1,2,3~4,5,6' pd.read_csv(StringIO(data), lineterminator='~')
寮曞彿quotechar锛岀敤浜庤〃绀哄紩鐢ㄦ暟鎹�殑寮€濮嬪拰缁撴潫鐨勫瓧绗︺€傚紩鐢ㄧ殑椤圭洰鍙�互鍖呭惈瀹氱晫绗︼紝瀹冨皢琚�拷鐣ャ€�
# 闀垮害涓�1鐨勫瓧绗︿覆 pd.read_csv(file, quotechar='"')
鍦╟sv妯″潡涓�紝鏁版嵁鍙�兘浼氱敤寮曞彿绛夊瓧绗﹀寘瑁硅捣鏉ワ紝quoting鍙傛暟鐢ㄦ潵鎺у埗璇嗗埆瀛楁�鐨勫紩鍙锋ā寮忥紝瀹冨彲浠ユ槸Python csv妯″潡涓�殑csv.QUOTE_*甯搁噺锛屼篃鍙�互浼犲叆瀵瑰簲鐨勬暟瀛椼€傚悇涓�紶鍏ュ€肩殑鎰忎箟濡備笅銆�
0鎴朿sv.QUOTE_MINIMAL锛氫粎鐗规畩瀛楁�鏈夊紩鍙枫€� 1鎴朿sv.QUOTE_ALL锛氭墍鏈夊瓧娈甸兘鏈夊紩鍙枫€� 2鎴朿sv.QUOTE_NONNUMERIC锛氭墍鏈夐潪鏁板瓧瀛楁�閮芥湁寮曞彿銆� 3鎴朿sv.QUOTE_NONE锛氭墍鏈夊瓧娈甸兘娌℃湁寮曞彿銆�
濡傛灉浣跨敤csv妯″潡锛屽垯闇€瑕佷簨鍏堝紩鍏�sv妯″潡銆�
# 鏁村瀷鎴栬€卌sv.QUOTE_*瀹炰緥, 榛樿�涓�0 import csv pd.read_csv('input_file.csv', quoting=csv.QUOTE_NONE)
鍙屽紩鍙穌oublequote锛屽綋鍗曞紩鍙峰凡缁忚�瀹氫箟锛屽苟涓攓uoting鍙傛暟涓嶆槸QUOTE_NONE鐨勬椂鍊欙紝浣跨敤鍙屽紩鍙疯〃绀哄皢寮曞彿鍐呯殑鍏冪礌浣滀负涓€涓�厓绱犱娇鐢ㄣ€�
# 甯冨皵鍨嬶紝榛樿�涓篢rue import cansv pd.read_csv('data.csv', quotechar='"', doublequote=True, quoting=csv.QUOTE_NONNUMERIC)
escapechar鍙�互浼犲叆涓€涓�浆涔夌�锛岀敤浜庤繃婊ゆ暟鎹�腑鐨勮�杞�叆绗︺€傛瘮濡傦紝濡傛灉涓€琛岀敤鍙屽紩鍙峰寘瑁圭潃鐨勬暟鎹�腑鏈夋崲琛岀�锛岀敤浠ヤ笅浠g爜鍙�互杩囨护鍏朵腑鐨勬崲琛岀�銆�
# 闀垮害涓�1鐨勮浆涔夊瓧绗︿覆锛岄粯璁や负None pd.read_csv(StringIO(data), escapechar=' ', encoding='utf-8')
娉ㄩ噴鏍囪瘑comment锛屾寚绀轰笉搴斿垎鏋愯�鐨勯儴鍒嗐€傚�鏋滃湪涓€琛岀殑寮€澶存壘鍒拌�鏍囪瘑锛屽垯灏嗗畬鍏ㄥ拷鐣ヨ�琛屻€傛�鍙傛暟蹇呴』鏄�崟涓�瓧绗︺€傚儚绌鸿�涓€鏍凤紙鍙��skip_blank_lines = True锛夛紝娉ㄩ噴鐨勮�灏嗚�鍙傛暟header蹇界暐锛岃€屼笉鏄��skiprows蹇界暐銆備緥濡傦紝濡傛灉comment ='锛�'锛屽垯瑙f瀽header=0鐨�'#empty na锛宐锛宑 n1,2,3'浼氬皢'a锛宐锛宑'瑙嗕负header銆�
# 瀛楃�涓诧紝榛樿�涓篘one s = '# notes a,b,c # more notes 1,2,3' pd.read_csv(StringIO(s), sep=',', comment='#', skiprows=1)
绌烘牸鍒嗛殧绗�elim_whitespace锛屾寚瀹氭槸鍚﹀皢绌烘牸锛堜緥濡�''鎴�' t'锛夌敤浣滃垎闅旂�锛岀瓑鏁堜簬璁剧疆sep ='s+'銆傚�鏋滄�閫夐」璁剧疆涓篢rue锛屽垯涓嶅簲璇ヤ负delimiter鍙傛暟浼犻€掍换浣曞唴瀹广€�
# 甯冨皵鍨嬶紝榛樿�涓篎alse pd.read_csv(StringIO(data), delim_whitespace=False) 22 灏忕粨
閫氳繃鏈�枃鐨勪粙缁嶏紝鎴戜滑浜嗚В浜嗚�鍙朇SV鏂囦欢鐨勪竴浜涘弬鏁扮殑鍔熻兘锛屼篃浜嗚В浜嗗湪璇诲彇CSV鏂囦欢鏃跺彲浠ュ仛涓€浜涘垵姝ョ殑鏁版嵁鏁寸悊宸ヤ綔銆�




