如何解决在将数据帧写入/读取到CSV时出现问题-最终形状-Python
我正在将一个大型数据库读取为多个数据帧。每次都有效。所以我有单独的数据框。然后,我将每个数据帧写入一个csv文件。最初它有34列。 之后,我将csv文件读入一个新的数据框中,现在我有35列。
我这样做是为了写入csv文件:
HybridBlock
此内容可供阅读:
df.to_csv(path + "file_01.csv")
我以此测试他们的列号:
import pandas as ps
df = ps.read_csv(path + "file_01.csv")
为什么会发生,如何改善\使其正常工作?
解决方法
index
的{{1}}参数的默认值为true,这将导致导出其他索引列。
您可以执行to_csv
来排除索引列的添加。
文档:this
,根据此处的文档: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html
to_csv将写入索引。索引将用作新列。
禁用该集df.to_csv(path + "file_01.csv",index=False)
当您在熊猫中写入csv时,索引列将放置在csv中数据列的左侧。要从csv中删除索引,可以使用index = False参数。
from collections import defaultdict
csv_content = data
jobDict = defaultdict(list)
for line in csv_content:
jobDict[line[0]].append(line[1:])
final = defaultdict(dict)
# create assembly dict from job
for ks_j,vs_j in jobDict.items():
# print(ks_j)
assemblyDict = defaultdict(list)
for v_j in vs_j:
assemblyDict[v_j[0]].append(v_j[1:])
# create node dict from assembly
for ks_a,vs_a in assemblyDict.items():
# print(ks_a)
nodeDict = defaultdict(dict)
for v_a in vs_a:
nodeDict[v_a[0]] = v_a[1]
# print(nodeDict)
final[ks_j][ks_a] = nodeDict
print(final)
,
正如其他答案已经解释的那样,索引将一起保存在.csv文件中。如果索引值很重要并且需要保存,则可以通过添加参数.read_csv()
index_col = 0
函数
df = ps.read_csv(path + "file_01.csv",index_col=0)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。