[PYTHON] 파이썬은 csv를 xlsx로 변환합니다.
PYTHON파이썬은 csv를 xlsx로 변환합니다.
이 게시물에는 csv에서 xls로 변환하는 Python 예제가 있습니다.
그러나 xls 작동하지 않습니다 내 파일을 65536 개 이상의 행이 있습니다. xlsx라는 파일의 이름을 지정하면 차이가 없습니다. xlsx로 변환 할 파이썬 패키지가 있습니까?
해결법
-
==============================
1.다음은 xlsxwriter를 사용한 예입니다.
다음은 xlsxwriter를 사용한 예입니다.
import os import glob import csv from xlsxwriter.workbook import Workbook for csvfile in glob.glob(os.path.join('.', '*.csv')): workbook = Workbook(csvfile[:-4] + '.xlsx') worksheet = workbook.add_worksheet() with open(csvfile, 'rt', encoding='utf8') as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): worksheet.write(r, c, col) workbook.close()
참고로, Excel 2007 xlsx / xlsm 파일을 읽고 쓸 수있는 openpyxl 패키지도 있습니다.
희망이 도움이됩니다.
-
==============================
2.내 도서관 pyexcel,
내 도서관 pyexcel,
$ pip install pyexcel pyexcel-xlsx
당신은 하나의 명령 줄에서 그것을 할 수 있습니다 :
from pyexcel.cookbook import merge_all_to_a_book # import pyexcel.ext.xlsx # no longer required if you use pyexcel >= 0.2.2 import glob merge_all_to_a_book(glob.glob("your_csv_directory/*.csv"), "output.xlsx")
각 CSV는 자체 시트를 가지며 이름은 파일 이름이됩니다.
-
==============================
3..csv 파일을 읽고 .xlsx 파일로 저장하기 위해 팬더 라이브러리를 독점적으로 사용하는 대답을 추가합니다. 이 예제는 pandas.read_csv (docs에 링크) 및 pandas.dataframe.to_excel (docs에 링크)을 사용합니다.
.csv 파일을 읽고 .xlsx 파일로 저장하기 위해 팬더 라이브러리를 독점적으로 사용하는 대답을 추가합니다. 이 예제는 pandas.read_csv (docs에 링크) 및 pandas.dataframe.to_excel (docs에 링크)을 사용합니다.
완전히 재현 할 수있는 예제에서는 numpy를 사용하여 임의의 숫자 만 생성합니다.이 예제는 사용자의 .csv 파일을 사용하려는 경우 제거 할 수 있습니다.
import pandas as pd import numpy as np # Creating a dataframe and saving as test.csv in current directory df = pd.DataFrame(np.random.randn(100000, 3), columns=list('ABC')) df.to_csv('test.csv', index = False) # Reading in test.csv and saving as test.xlsx df_new = pd.read_csv('test.csv') writer = pd.ExcelWriter('test.xlsx') df_new.to_excel(writer, index = False) writer.save()
-
==============================
4.
from openpyxl import Workbook import csv wb = Workbook() ws = wb.active with open('test.csv', 'r') as f: for row in csv.reader(f): ws.append(row) wb.save('name.xlsx')
-
==============================
5.내가 openpyxl lib로 그것을하는 방법 :
내가 openpyxl lib로 그것을하는 방법 :
import csv from openpyxl import Workbook def convert_csv_to_xlsx(self): wb = Workbook() sheet = wb.active CSV_SEPARATOR = "#" with open("my_file.csv") as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): for idx, val in enumerate(col.split(CSV_SEPARATOR)): cell = sheet.cell(row=r+1, column=idx+1) cell.value = val wb.save("my_file.xlsx")
-
==============================
6.간단한 방법이있다.
간단한 방법이있다.
import os import csv import sys from openpyxl import Workbook reload(sys) sys.setdefaultencoding('utf8') if __name__ == '__main__': workbook = Workbook() worksheet = workbook.active with open('input.csv', 'r') as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): for idx, val in enumerate(col.split(',')): cell = worksheet.cell(row=r+1, column=c+1) cell.value = val workbook.save('output.xlsx')
from https://stackoverflow.com/questions/17684610/python-convert-csv-to-xlsx by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python super ()가 TypeError를 발생시킵니다. (0) | 2018.10.07 |
---|---|
[PYTHON] 사전 및 기본값 (0) | 2018.10.07 |
[PYTHON] 문자열에서 코드에서 모듈을로드하는 방법? (0) | 2018.10.07 |
[PYTHON] 파이썬 유니 코드 동일 비교 실패 (0) | 2018.10.07 |
[PYTHON] 숫자의 숫자 합계 - 파이썬 (0) | 2018.10.07 |