- w3schools – Python File Open
แสดงชื่อไฟล์ในไดเร็กทอรี
- stackoverflow – How do I list all files of a directory?
- stackoverflow – Find all files in a directory with extension .txt in Python
- realpython – Working With Files in Python
เก็บเฉพาะชื่อไฟล์
from os import walk
mypath = 'C:\\'
liFile = []
for (dirpath, dirnames, filenames) in walk(mypath):
liFile.extend(filenames)
break # comment this line
for filename in liFile:
print(filename)
import glob, os
os.chdir(".")
for file in glob.glob("*.*"):
print(file)
เก็บ full path
from os import walk
mypath = 'C:\\'
filepaths = []
for (dirpath, dirnames, filenames) in walk(mypath):
for filename in filenames:
filepaths.append(dirpath + '\\' + filename)
break # comment this line
for filepath in filepaths:
print(filepath)
การเขียนไฟล์ text
- w3schools – Python File Write
- stackoverflow – UnicodeEncodeError: ‘charmap’ codec can’t encode characters
text = 'abcde'
filename = 'test.txt'
with open(filename, "w", encoding="utf-8") as f:
f.write(text)
การอ่านไฟล์ text
- w3schools – Python File Open
filename = 'test.txt' f = open(filename, "r") text = f.read() print(text)
f = open(filename, "r", encoding="utf-8")
การอ่านไฟล์ json
import json filename = 'test.json' f = open(filename, "r") response = json.load(f) print(response) print(type(response)) print(response.keys())
date
from datetime import date date.today() print(type(date.today())) print(date.today()) # <class 'datetime.date'> # 2021-10-14
การรวมไฟล์ .csv ที่มี header แบบง่ายๆ
import os
import glob
merge_file = 'people' # folder name
path = "path_to_csv_folder/" + merge_file
os.chdir(path)
all_files = glob.glob("*.*")
# for file in all_files:
# print(file)
new_text = ''
for f in range(len(all_files)):
print(f, all_files[f])
filename = all_files[f]
file = open(filename, "r", encoding="utf-8")
text = file.read()
lines = text.split('\n')
if f == 0:
# print('header of the first file')
new_text = lines[0] + '\n'
for j in range(1, len(lines)):
new_text += lines[j] + '\n'
f = open(merge_file + '.csv', "w", encoding="utf-8")
f.write(new_text.strip('\n'))
f.close()
print('Finish')