使用Python 16从Excel 16 csv文件中读取csv文件: 导入csv 打开(“C:\ Users \ RJ \ FG \ Line \ Line List.csv”)作为csv_input: reader = csv.DictReader(csv_input) 读者行: 打印(行)
生成所有正确的数据,但Excel文件中的第一列是“RoutingFrom”,但这里是最后一列。
{'RoutingTo':'AMINE DRAIN','Item':'1','LineSectTag':'AD-12-1-011-0','LDTDocNo':'M6D-1P12-00009',' RoutingFrom':'1 AM-12010-0'}
当我用文本编辑器打开csv文件时: 项目,RoutingFrom,RoutingTo,LDTDocNo,LineSectTag 它是第二列。
测试编辑器视图是文件的原始顺序。我将使用它在Networkx中添加边缘,因此我重新排序了电子表格中的列,以便前两列的'from'和'to'。 Excel将它们显示为前两列,Pyhton将它们作为第一列和最后一列显示,文本编辑器将它们显示为第二列和第三列。
然后我将重新排列(从,到,项目,...)csv文件并作为文本复制到新电子表格中,这是上述所有内容的来源。
有关如何获得一致排序数据集的任何建议?
顺便说一句,我正在使用实际数据的一小部分,这是10倍宽和50倍长。
我感谢所有的投入, 谢谢 射线
答案 0 :(得分:0)
Pandas及其DataFrame对象非常适合这种情况。可以轻松加载CSV,并且可以从DF中对列进行切片以构建NetworkX图形。
import pandas as pd
import networkx as nx
df = pd.read_csv("C:\Users\RJ\FG\Line\Line List.csv")
edges = zip(df.RoutingFrom, df.RoutingTo)
G = nx.Graph()
G.add_edges_from(edges)