我在一个目录中有多个.txt
文件,我想通过导入python将它们合并为一个。这里的问题是,合并之后,我想将其转换为整个程序所基于的一个csv
文件。
到目前为止,我只需要输入一个.txt
文件,并通过以下代码将其转换为csv
文件:
import io
bytes = open('XYZ.txt', 'rb').read()
df=pd.read_csv(io.StringIO(bytes.decode('utf-8')), sep='\t', parse_dates=['Time'] )
df.head()
现在,我需要输入多个.txt
文件,将它们合并,然后将它们转换为csv文件。有解决方法吗?
答案 0 :(得分:3)
如果标题相同,那么应该很简单
import os
import io
merged_df = pd.DataFrame()
for file in os.listdir("PATH_OF_DIRECTORY"):
if file.endswith(".txt"):
bytes = open(file, 'rb').read()
merged_df = merged_df.append(pd.read_csv(io.StringIO(
bytes.decode('utf-8')), sep='\t', parse_dates=['Time']))
print(len(merged_df))
答案 1 :(得分:0)
import glob
path="location/of/folder"
allFiles = glob.glob(path + "\\*.txt")
list_ = []
for file in allFiles:
print(file)
df = pd.read_csv(io.StringIO(file.decode('utf-8')), sep='\t', parse_dates=['Time'])
list_.append(df)
combined_files = pd.concat(list_)