from io import StringIO
def return_print(*prt_str):
io = StringIO()
print(*prt_str, file=io, end="")
return io.getvalue()
str = return_print("print_value in variable")
print(str)
* 출력결과
=> print_value in variable
Excel 데이터를 가져와서 형식(.csv)에 맞춰줄 때 사용했다.
- openpyxl 모듈을 사용해서 엑셀파일의 데이터를 Linux 서버안에 csv 파일로 만들어 줄 수 있었다.
[Part of the code] paramiko를 통해 ssh를 접속해둔 상태이며, filelist_path는 엑셀 파일들의 리스트를 받는다.
def return_print(*prt_str):
io = StringIO()
print(*prt_str, file=io, sep=',', end="")
return io.getvalue()
def file_data(filelist_path):
print('Windows Excel -> Linux CSV')
for file_path in filelist_path:
workbook = openpyxl.load_workbook(file_path)
worksheet = workbook.worksheets[0]
for row in worksheet.iter_rows(min_row=2):
row_data = return_print(row[0].value,row[1].value,row[2].value,row[3].value,row[4].value,row[5].value)
cmd = "echo " + row_data +" >> row_date_log.csv"
ssh.exec_command(cmd)
산술연산자 +를 통해서도 가능하지만, print 함수의 sep, end를 활용해서 쉽고 간결해진 것을 볼 수 있다.