当列位于不同的目录中时,文件读取列的类型是否有任何原因?

2024-04-24 23:41:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为一个项目编译为期两年的每日.txt文件。我首先编写代码,将每天作为一个数据帧,并按季节将每一天添加到字典中,以便以后进行分析。此技术适用于除一个文件以外的所有文件;它读取某些应该作为字符串浮动的列。在我每一季要看的文件的子集中有100多个文件

当我复制同一个文件,把它放在我的桌面上,而不是一个特定的目录,并加载一个文件的方式相同,它的数字列读作为一个浮点数,因为它应该

我意识到我可以通过简单地将正确加载的文件替换到字典中来绕过我的问题;然而,我担心这个错误可能意味着一个更大的系统错误

下面是将其加载到字典的代码:

path = '/Users/ET/Desktop/Summer_1314/'
column_names = ['col1', 'col1', 'col3']
dict_of_df = {}

for filename in os.listdir(path):
    split_up = filename.split('_')
    year_string = split_up[4][:2]
    if filename.startswith('A') and year_string == '13':
        daily_df = pd.read_fwf(path + filename, header = None, names = column_names)
        daily_df = daily_df.drop(columns = [col1, col2])
        dict_of_df[split_up[4]] = daily_df

for keys, df in dict_of_df.items():
    print(keys, df.dtypes)

以下是使用上述代码调用.dtypes到休息日的结果:

col3       object
col4       object
col5       object
col6       object
dtype: object

这里是通过在循环之外自行加载文件:

col3       float64
col4       float64
col5       float64
col6       float64
dtype: object

感谢您的帮助


Tags: 文件ofpath代码df字典objectnames