I have a 에서 CSV 파일 쓸 수 있는 다테프라임 판다 싶다. 나는 이렇게 사용:
df.to_csv('out.csv')
점점 오류:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)
이를 해결하기 위해 운행에서어떠한 유지됩니까 쉽게 (즉, 나는 내 데이터 프레임을 유니코드 문자를)? 그리고 쓸 수 있는 방법이 & # 39, CSV 파일 탭으로 구분 대신 사용하여 to-tab& # 39, (예: 방법 (내가 그거 랑하니 존재하지 않습니다.)?
탭으로 구분하는 데 사용할 수 있습니다 '' 9월 주장이 ['to_csv'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html):
df.to_csv(file_name, sep='\t')
(예를 들어, # 39, & # 39 utf-8&) 특정 인코딩을 사용하려면 '인코딩입니다 사용하여' 인수:
df.to_csv(file_name, sep='\t', encoding='utf-8')
한 때 '에 저장하는 방법을 사용하여 객체에는 다테프라임' 여러분 '습관' to_csv csv 파일 행일 각 인덱스를 저장하는 데 필요한 수 있는 '이전' 객체에는 다테프라임.
다소 다음과 같습니다.
df.to_csv(file_name, encoding='utf-8', index=False)
그래서 다테프라임 경우 다음과 같은 항목을 객체인지
Color Number
0 red 22
1 blue 10
Csv 파일로 저장할 것이다.
Color,Number
red,22
blue,10
대신 ( '진정한' 의 경우 기본값입니다 전달되었습니다.)
,Color,Number
0,red,22
1,blue,10
& # 39 를 시도할 수 뭔가 다른 데 문제가 있으면 인코딩입니다 utf-8& # 39;; 그리고 셀 (cell) 를 통해 갈 수 있습니다 다음 시도하시겠습니까.
(여기서 " df"; is your 다테프라임 객체에는.)
for column in df.columns:
for idx in df[column].index:
x = df.get_value(idx,column)
try:
x = unicode(x.encode('utf-8','ignore'),errors ='ignore') if type(x) == unicode else unicode(str(x),errors='ignore')
df.set_value(idx,column,x)
except Exception:
print 'encoding error: {0} {1}'.format(idx,column)
df.set_value(idx,column,'')
continue
그럼 하시오.
df.to_csv(file_name)
열에 의해 인코딩입니다 확인할 수 있습니다.
for column in df.columns:
print '{0} {1}'.format(str(type(df[column][0])),str(column))
경고: # 39, & # 39, ignore& 오류뿐만 = 그냥 생략하십시오 거역한다면 문자 (예:
IN: unicode('Regenexx\xae',errors='ignore')
OUT: u'Regenexx'
for column in df.columns:
for idx in df[column].index:
x = df.get_value(idx,column)
try:
x = x if type(x) == str else str(x).encode('utf-8','ignore').decode('utf-8','ignore')
df.set_value(idx,column,x)
except Exception:
print('encoding error: {0} {1}'.format(idx,column))
df.set_value(idx,column,'')
continue
가끔 UTF-8 인코딩을 지정할 경우 이러한 문제를 직면하고 있다. 내가 쓰는 동안 동일한 파일을 읽는 동안 파일이므로 인코딩입니다 추천합니까 인코딩입니다 지정할 수 있습니다. 이 문제를 해결할 수 있습니다.
Csv 파일로 판다 쓸 다테프라임 합니다 [ 'DataFrame.to_csv' ] (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html # pandas.DataFrame.to_csv). 이 함수는 은 다양한 인수만 합리적인 비용으로 설정값으로 비해 더 자주 맞게 무시하려면 특정 览侩 荤례 필요 없는 것입니다. 예를 들어, 다른 seperator 변경하십시오 datetime 형식 또는 드롭합니다 인덱스화할 사용할 때 쓰기 시작했다. 이러한 요구 사항을 해결하기 위해 '는' to_csv 인수만 전달할 수 있습니다.
>. 각주
>. 1. 기본값입니다 seperator 간주합니다 쉼표 (& # 39, & # 39, ','). # 39 이 don& t change, 모르면 할 수 있습니다. >. 2. 기본적으로 색인입니다 'df' 로 첫 번째 열은 적혀 있다. 다테프라임 인덱스화할 없는 경우 (이우 드프리앵데스 '이', '기본값입니다 란제이네스'), 이렇게 하면 '' = False 인덱스화할 설정할 때 쓰기 시작했다. 이 경우, 다른 방식으로 설명할 수 없는 데이터 색인 사용할 수 있습니다 (합니다) = 진정한 '완전히' 인덱스화할 가공할지 남겨두십시오 아웃해야 (그 기본값: 'True'). >. 3. 이 매개 변수를 설정할 수 있도록 데이터를 쓰는 것이 현명한 문자열이어야 경우 다른 응용 프로그램과 데이터를 읽을 줄 아는. 또한 이니고데렌코디로어 사전에 예방할 수 있는 '의 저장하는 동안 발생할 수 있습니다. >. 4. 압축이란 권장되기는 쓰는 경우 대규모 다테프럼스 (>, 100K 행뿐만) 를 훨씬 작은 출력 파일을 backup-to-disk 발생할 것으로 보인다. >. 시간 (및 이에 따라 늘어날 것이란 짓궂군요 로토프 쓰기 >. 이후 읽은 시간 파일 압축을 할 것입니다).
아닌 게 아니라 내가 가진 문제에 대한 걸릴 수 있다 (이 경우, 동일한 오류 메시지 < .to_csv< /i> 함께 i>;; 전화했는데 < 네스토치프 (& # 39, name.csv& # 39;), i> < /i>;; (# 39, & # 39, SparseDataFrame& ", 와 오류 메시지 달랐다 # 39, & # 39 toCSV& " 객체에는 속성이 없습니다;;). 따라서 문제는 해결할 수 있는 고밀도 다테프라임 선반가공 다테프라임
df.to_dense().to_csv("submission.csv", index = False, sep=',', encoding='utf-8')
예를 들어 Windows 의 경우 해당 파일이 파일의 전체 경로를 수출 및 헤더도:
df.to_csv (r'C:\Users\John\Desktop\export_dataframe.csv', index = None, header=True)
예를 들어 있는 익스포트를 폴더에 저장 할 경우 동일한 디렉토리에 있는 것은 스크립트입니다 utf-8 엔코드린트 및 탭에 seperator:
df.to_csv(r'./export/dftocsv.csv', sep='\t', encoding='utf-8', header='true')