나는 루비를 사용하여 엑셀 파일을 CSV 파일로 변환하고 있습니다. 그것은 파일에서 우편 번호 후 것을 제외하고 잘 작동루비 엑셀 CSV로 엑셀 추가 .00
#!/usr/bin/ruby
require 'CSV'
require 'roo'
def xls_to_csv(file,temp_filename)
if file =~ /\.xlsx$/
excel = Roo::Excelx.new(file)
else
excel = Roo::Excel.new(file)
end
output = File.open(temp_filename, "w")
1.upto(excel.last_row) do |line|
output.write CSV.generate_line excel.row(line)
end
end
그것은 "0.0"를 추가합니다 : 여기에 내가 그렇게 쓴 기능입니다. 여기에 입력 된 데이터의 예입니다
address state zip code name
123 Lane TX 78705 John Smith
456 Lane MS 39564 Smohn Jith
그리고
.xls 파일 함수를 통해 실행되면, 여기에 CSV 출력입니다 : 당신이 볼 수 있듯이address,state,zip code,name
123 Lane,TX,78705.0,John Smith
456 Lane,MS,39564.0,Smohn Jith
는 우편 번호가 지금 가지고있는 ".0"뒤에. 어쨌든 이것을 피할 수 있습니까? 감사!
엑셀 문서의 우편 번호 필드에 대한 데이터 유형을 숫자가 아닌 숫자로 변경할 수 있습니까? 십진수 대신 정수? 형식 지정 옵션이 있어야합니다. – Noz
+1 @Cyle. 사람들은 실수로 우편 번호 필드를 숫자로 설정합니다. 왜냐하면 결국 숫자가되기 때문입니다 ... 일종의 선도 0이 사라지고 00000-0000과 같은 복합 우편 번호를 입력해야한다는 것을 알기 전까지는. 대신 우편 번호는 문자열이어야합니다. –