我有一个csv文件,其中包含由“,”分隔的csv数据。我正在尝试将其转换为json格式。为此,我要先提取标题。但是,我无法区分标题和下一行
以下是csv文件中的数据:
Start Date ,Start Time,End Date,End Time,Event Title
9/5/2011,3:00:00 PM,9/5/2011,,Social Studies Dept. Meeting
9/5/2011,6:00:00 PM,9/5/2011,8:00:00 PM,Curriculum Meeting
我也试过csvreader,但我也遇到了同样的问题。
基本上Event Title
下一行的日期没有被区分
with open(file_path, 'r') as f:
first_line = re.sub(r'\s+', '', f.read())
arr = []
headers = []
for header in f.readline().split(','):
headers.append(header)
for line in f.readlines():
lineItems = {}
for i,item in enumerate(line.split(',')):
lineItems[headers[i]] = item
arr.append(lineItems)
print(arr)
print(headers)
jsonText = json.dumps(arr)
print(jsonText)
下面所有三个打印语句都给出空结果
[]
['']
[]
我希望jsonText是一个键值对的json
在Python中,每个文件都有一个标记,用于跟踪文件中的位置。一旦调用
read()
,您就已经读取了整个文件,以后所有的read或readline调用都不会返回任何结果所以,只需删除涉及
first_line
的行使用
csv.DictReader
获取dict列表(每行都是一个dict),然后序列化它相关问题 更多 >
编程相关推荐