首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UnicodeDecodeError:“utf8”编解码器无法解码

UnicodeDecodeError:“utf8”编解码器无法解码
EN

Stack Overflow用户
提问于 2014-06-25 19:05:03
回答 1查看 568关注 0票数 1

我编写了一个基本程序,将CSV edgelist加载到网络中,计算网络中每个节点的4个度量,并将结果写入CSV文件。我使用的是NetworkX,当使用数字作为节点ids时,一切都很好。但是,当我移到使用Twitter用户名作为节点id的另一个示例时,我得到了以下错误:

误差

代码语言:javascript
复制
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 23-24: invalid continuation byte

代码语言:javascript
复制
import sys
import networkx as nx
import csv


# load CSV edgelist into NetworkX
G = nx.read_edgelist(sys.argv[1], delimiter=',')


# calculate centrality metrics
degree = nx.degree_centrality(G)
between = nx.betweenness_centrality(G)
close = nx.closeness_centrality(G)
eigen = nx.eigenvector_centrality(G)


# write centrality results to a list
centrality = []
for i in G:
 row = i, degree[i], between[i], close[i], eigen[i]
 centrality.append(row)

# write list to CSV
outfile = sys.argv[1].replace('.csv', '_metrics.csv') 
header = 'NodeID', 'Degree', 'Betweenness', 'Closeness', 'Eigenvector'
with open(outfile, 'wb') as f:
 csv.writer(f).writerow(header)
 csv.writer(f).writerows(centrality)
EN

回答 1

Stack Overflow用户

发布于 2014-06-25 20:43:01

如果您想快速修复它,并且不知道您的文件的字符被编码为什么,那么我将执行以下操作。我会使用google来确保该文件中的每个字符都是UTF-8

下面是操作步骤:

  • 导航到Google / "Create“/”电子表格“
  • 在新的电子表格中,单击"File“并选择"Import”
  • 然后选择“上载”,然后选择“从计算机中选择文件”
  • 在“导入文件”对话框中,选择“替换电子表格”并(注意:“自动检测”选项对我有效)
  • 在导入的CSV中,选择"File“/ "Download”/“逗号分隔值”(CSV.当前工作表)。

这是我快速将csv中的每个字符编码为utf-8的过程。显然,在很多时候,它不是正确的答案,也是你会想要理解字符编码;但是,如果您想要的是操纵文件中的数据,一次不处理编码问题,那么我发现Google是最快和最可靠的解决方案。

注意:由于这个答案最初让我使用这个解决方案,所以应该归功于它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24416591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档