gpt4 book ai didi

python - 遍历文件名列表并在 Python 中将它们 append 在一起

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:36 27 4
gpt4 key购买 nike

到目前为止,我有一个以文件名的相同部分开头的文件列表,所以我想通配符并获取目录中以文件名的相同部分开头的所有文件名的列表,然后 append 所有的文件在一起,所以它只是一个大文件。我知道我需要导入 glob。所以这就是我到目前为止所拥有的。

import glob

filename = glob.glob('1511**.mnd')
data_nov15_hereford = pd.DataFrame()
list = []

for i in filename:
f_nov15_hereford = pd.read_csv(i, skiprows = 33, sep='\s+',chunksize=30)
list.append(f_nov15_hereford)
data_nov15_hereford = pd.concat(list)
data_nov15_hereford = data_nov15_hereford.convert_objects(convert_numeric=True)

是否有更简单或更好的方法来执行此操作且实际有效。谢谢!

最佳答案

import glob

filename = glob.glob('1511**.mnd')
data_nov15_hereford = pd.DataFrame()
frames = []

for i in filename:
f_nov15_hereford = pd.read_csv(i, skiprows = 33, sep='\s+')
frames.append(f_nov15_hereford)
data_nov15_hereford = pd.concat(frames)
data_nov15_hereford = data_nov15_hereford.convert_objects(convert_numeric=True)
# save to csv
data_nov15_hereford.to_csv(filename)

  • 不要在for-loop 中调用pd.concat()。这样做很大程度上是浪费精力,因为

    data_nov15_hereford = pd.concat(list) 

    在循环的每次迭代中为 data_nov15_hereford 分配一个新值。

  • 避免将变量命名为 list,因为 list 是一个内置的 Python 类。将特定列表分配给 list 可能会导致以后在看似无害的代码中出现令人惊讶的、难以发现的错误,例如 x = list(...) (这会引发TypeError: 'list' object not callable 错误。)

关于python - 遍历文件名列表并在 Python 中将它们 append 在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35070593/

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