【发布时间】:2019-07-10 15:11:07
【问题描述】:
我正在尝试一起编译几个 .xls 文件。我发现了一些有效的代码,但它把文件乱序放置。这些文件的名称为 therm_sensor1.xls、therm_sensor2.xls 等。我需要按数字顺序输出,但我当前的代码似乎将它们打乱了。我对计算机编码很陌生,所以解释会很有帮助:) 此外,我当前的输出包含除前 6 行之外的所有数据。我不知道它为什么这样做。
import pandas as pd
import glob
glob.glob('therm_sensor*.xls')
all_data = pd.DataFrame()
for f in glob.glob('therm_sensor*.xls'):
df = pd.read_excel(f)
all_data = all_data.append(df, ignore_index=True)
print(all_data.to_string())
输出:
6 1.739592e-05 0.30 NaN
7 2.024840e-05 0.35 NaN
8 2.309999e-05 0.40 NaN
...
502 2.949562e-10 0.95 NaN
503 3.113220e-10 1.00 NaN
【问题讨论】:
-
Python 的 for 循环依赖于迭代器模式。如果你理解迭代器(
glob.glob('therm_sensors*.xls")),你就会理解程序流程。 -
您可以尝试循环打开文件,而不是 glob - 例如对于
i in range(1,10)(范围始终是一个范围,按顺序排列),然后循环中的文件名是'therm_sensor{}.xls'.format(i)。