gpt4 book ai didi

python - 使用 Pandas read_table 和文件列表

转载 作者:行者123 更新时间:2023-11-30 22:38:47 25 4
gpt4 key购买 nike

总的来说,我对 Python 还很陌生,但我正在尝试制作一个脚本,从文件夹中的某些文件中获取数据并将其放入 Excel 电子表格中。

我的代码将在指定的文件夹中找到我想要的文件类型,然后创建包含完整文件路径的列表。

import os
file_paths = []

for folder, subs, files in os.walk('C://Users/Dir'):
for filename in files:
if filename.endswith(".log") or filename.endswith(".txt"):

file_paths.append(os.path.abspath(os.path.join(folder,filename)))

它还会采用特定的文件路径,从正确的列中提取数据,并将其放入 Excel 的正确单元格中。

import pandas as pd
import numpy

for i in range(len(file_paths)):
fields = ['RDCR']
data = pd.read_table(file_paths[i], sep= "\s+", names = fields, usecols=[3],

我遇到问题的地方是让 read_table 迭代我的文件列表,并将数据放入 Excel 工作表中,每次读取新文件时,它都会在电子表格中的一列上移动。

理想情况下,for 循环会查看 file_paths 列表的长度,并将其用作范围。然后使用file_paths[i]将文件名一一输入到read_table中。

它会找到 file_paths 的长度,并且不会逐个迭代其中的文件,而是仅输入列表中最后一个文件的数据。

任何帮助将不胜感激!谢谢!

最佳答案

尝试一次连接所有这些并写入 Excel 一次。

from glob import glob
import pandas as pd

files = glob('C://Users/Dir/*.log') + glob('C://Users/Dir/*.txt')

def read_file(f):
fields = ['RDCR']
return pd.read_table(
f, sep="\s+",
names=fields, usecols=[3])

df = pd.concat([read_file(f) for f in files], axis=1).to_excel('out.xlsx')

关于python - 使用 Pandas read_table 和文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com