CSV文件为Python列表结构,导入Pandas DataFrame仅返回表头如何解决?
问题原因与解决方法
错误原因
你用pd.read_csv()处理的文件不是标准CSV格式,而是Python列表结构的字符串。read_csv会把整个列表当成一行单列数据,后续用pd.DataFrame()包装时,因为没有匹配的行数据,所以只显示表头。
解决方法
方法1:解析字符串为Python列表后转DataFrame
使用ast.literal_eval()安全解析文件中的列表字符串,再生成DataFrame:
import pandas as pd import ast # 读取文件内容 with open(r'C:\Users\john_smith\file_name.csv', 'r') as f: raw_content = f.read().strip() # 解析字符串为Python列表 data = ast.literal_eval(raw_content) # 创建DataFrame并指定列名 df = pd.DataFrame(data, columns=["article_id","author_id","viewer_id","view_date"]) print(df)
方法2:用read_json直接读取
你的数据格式和JSON数组兼容,可直接用pd.read_json()读取,再重命名列:
import pandas as pd # 读取文件并生成DataFrame df = pd.read_json(r'C:\Users\john_smith\file_name.csv') # 重命名列 df.columns = ["article_id","author_id","viewer_id","view_date"] print(df)
内容的提问来源于stack exchange,提问作者BrownEyeBoy
相关产品推荐
相关产品推荐

