如何按顺序使用列表中的元素



我的目标是将文件夹中的多个csv文件更改为JSON。

首先,我需要列出我的csv文件
for file in os.listdir("C:/Users/folder_to_csv"):
filename = os.fsdecode(file)
if filename.endswith(".csv"):
#check if csv files are listed correctly
print(os.path.join("C:/Users/folder_to_csv", filename))

这样,我就可以调用该文件夹中的csv文件了。结果:C:/Users/folder_to_csvfile_1.csv C:/Users/folder_to_csvfile_2.csv C:/Users/folder_to_csvfile_3.csv

然后,我想使用'csvlist'中的所有csv文件到jsonObj,但是由于某种原因,我的代码只使用第一个文件(C:/Users/folder_to_csvfile_1.csv)

这是我到目前为止所尝试的:


import json
import csv
import requests
import threading
import os

for file in os.listdir("C:/Users/folder_to_csv"):
filename = os.fsdecode(file)
if filename.endswith(".csv"):
csvlist = os.path.join("C:/Users/folder_to_csv", filename)

data = {}   

def main():
#loop csv list so my codes can read all csv files
length = len(csvlist)
for i in range(length):
i += 1        
path = csvlist

#switch csv to json
with open(path, mode='r') as f:
reader = csv.DictReader(f)
processdata = [row for row in reader]

dlist = processdata
jsonObj = json.dumps(dlist) 

})
print(jsonObj)

main()

在初始循环中,继续重新定义csvlist变量。我猜你想要一个清单吧?然后创建一个初始的空列表并将其追加,而不是重新定义

csvlist = []
...
csvlist.append(os.path.join("C:/Users/folder_to_csv", filename))

相关内容

  • 没有找到相关文章

最新更新