用于打开多个 txt 文件的 for 循环不返回任何内容



下面的代码没有返回任何内容,而我希望它返回一个pandas数据帧。我哪里错了?

import pandas as pd
from pathlib import Path
files = Path('./finance_data').glob('*.txt')
d = {}
for file in files:
with file.open() as f:
contents = f.readlines()
name = contents[4].removeprefix('Name:').removesuffix('n')
longitude = contents[10].removeprefix('Longitude:').removesuffix('n')
latitude = contents[11].removeprefix('Latitude:').removesuffix('n')
d['name'] = name
d['lon'] = longitude
d['lat'] = latitude
df = pd.DataFrame([d])
print(df)

编辑1,按要求:

print(files)
<generator object Path.glob at 0x00000287C9B610B0>
print(d)
{'name': 'XDF', 'lon': ' 65.656991', 'lat': ' 62.013306'}

试试下面的代码,我希望它能工作。如果没有,请发布详细的回溯。

import pandas as pd
from pathlib import Path
files = Path('./finance_data').glob('*.txt')
d = []
for file in files:
with file.open() as f:
contents = f.readlines()
name = contents[4].removeprefix('Name:').removesuffix('n')
longitude = contents[10].removeprefix('Longitude:').removesuffix('n')
latitude = contents[11].removeprefix('Latitude:').removesuffix('n')
d.append({'name': name, 'lon': longitude, 'lat':  latitude})
df = pd.DataFrame(d)

最新更新