从行列表中迭代选择数据,并将每个值依次乘以多个csv文件,Python

jdzmm42g  于 2023-06-03  发布在  Python
关注(0)|答案(1)|浏览(181)

我有多个csv文件可以读取,以便在Pandas使用glob。每个文件都应按顺序与列表中的值相乘。下面是我写的读取整个csv文件的代码:

#list file
list = np.loadtxt('list.txt')
list  

source = r"e*.csv"
sorted_files =  glob.iglob(source)

i = 1
for fname in natsorted (sorted_files):
    df = pd.read_csv(fname)
    df

从文件和列表的例子是附件。注意:每个CSV文件是一个110列 *154行的工作表
part of the filesenter image description herelist file example
我希望所有文件都是如此:
expect results for all files

pokxtpni

pokxtpni1#

欢迎来到社区!首先,'list'是一个预定义的关键字,你不能使用相同的变量名。现在,修改代码的某些部分-

li = np.loadtxt('list.txt')
source = r"e*.csv"
sorted_files =  glob.iglob(source)

我希望我能达到你的预期结果:

df = pd.DataFrame()
filenames = [file for file in sorted_files]
for i in range(len(li)):
    temp_df = pd.read_csv(filenames[i])
    temp_df.dropna(inplace=True)
    df = pd.concat([df, temp_df*li[i]])

输出是一个 Dataframe ,其中154*number_of_csv_files x 110列乘以列表中的数字。

相关问题