Python读取CSV文件时如何调整列表格式以正确拆分各字段
问题根源
你的代码输出格式异常是因为csv.reader的分隔符配置错误:CSV文件的字段分隔符为逗号,,而你设置了空格' '作为分隔符,导致名称字段内部的空格被识别为字段拆分标记,单个名称被拆成多个列表元素,后续的多个数值字段又被合并为单个元素。
修复方案
修改csv.reader的分隔符为逗号即可,同时注意你原代码中open()的第一个参数txt如果未正确定义,替换为你导出的CSV文件名file.csv:
import csv import pandas as pd import datetime # 此处保持你原来的day、month_short、year变量定义逻辑不变 today = str(day + " " + month_short + " " + year) read = pd.read_excel('local_file.xlsx', sheet_name='Sheet 1', header=1, skipfooter=7) read.to_csv('file.csv', index=None, header=True) with open('file.csv', newline='') as csvfile: # 核心修改:将分隔符从空格改为逗号 stats = csv.reader(csvfile, delimiter=',') rows = list(stats) # 如果需要跳过CSV表头可以改为 rows = list(stats)[1:] for x in range(len(rows)): var = today + str(rows[x]) print(var)
输出效果
修复后输出完全符合要求,示例如下:
10 Sep 2021['Ascendas REIT', 'A17U', '20.345491', '-4.149293'] 10 Sep 2021['CapitaLand', 'C31', '18.699506', '-4.605721'] 10 Sep 2021['CapitaLand Integrated Commercial Trust', 'C38U', '2.0973660000000005', '11.301549999999999'] 10 Sep 2021['City Developments', 'C09', '6.502435', '-1.7483140000000001']
内容的提问来源于stack exchange,提问作者Min Min
相关产品推荐
相关产品推荐

