将每个其他 csv 文件列从 python 列表转换为值

Converting every other csv file column from python list to value

我有几个大型 csv 文件,每个文件有 100 列和 800k 行。从第一列开始,每隔一列都有类似于 python 列表的单元格,例如:在单元格 A2 中,我有 [1000],在单元格 A3 中:我有 [2300],等等。第 2 列很好,是数字,但第 1、3、5、7 等列 ...99 与第 1 列相似,它们的值在列表中。有没有一种有效的方法可以从这些列中删除列表 [] 的符号并使它们的单元格像普通数字一样?

    files_directory: r":D\my_files"
    dir_files =os.listdir(r"D:\my_files")

    for file in dir_files:
        edited_csv = pd.read_csv("%s\%s"%(files_directory, file))

        for column in list(edited_csv.columns):
           if (column % 2) != 0:
              edited_csv[column] = ?

读取单元格时,例如 column_1[3],在本例中为 [4554.8433],python 会将它们作为数组读取。要读取数组中的数值,只需像这样读取值:

value = column_1[3]
print(value[0]) #prints 4554.8433 instead of [4554.8433]

请尝试:

import pandas as pd

df = pd.read_csv('file.csv', header=None)
df.columns = df.iloc[0]
df = df[1:]
for x in df.columns[::2]:
    df[x] = df[x].apply(lambda x: float(x[1:-1]))
print(df)