【问题标题】:UPDATE: THE ISSUE IS FROM THE INSTRUCTOR txt file trying to import into python更新:问题来自尝试导入 python 的 INSTRUCTOR txt 文件
【发布时间】:2022-01-20 16:20:41
【问题描述】:

脚本不会因为尝试导入/读取 txt 文件而运行。我已包含错误消息。这是我正在尝试导入的文本文件

#Text Script:
import csv 
import pandas as pd

def read_file(network_data):
    data=[]
    for line in file:        
        data.append(line.strip())
    return data
if __name__=="__main__":
    file = open("network_data.txt", 'r')
data = pd.read_csv("network_data.txt")
print(data)


ParserError                               Traceback (most recent call last)
C:\Users\~1.SAD\AppData\Local\Temp/ipykernel_1204/4012165591.py in <module>
     10 if __name__=="__main__":
     11     file = open("network_data.txt", 'r')
---> 12 data = pd.read_csv("network_data.txt")
     13 print(data)
ParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 3

【问题讨论】:

  • 您是否遇到任何错误?请更新您的问题以包含错误,以及指示这些错误在代码中的哪个位置出现的回溯
  • 跟踪的前​​几行或最后几行将与您文件中的一行相关,我们只需要那部分。不是整个痕迹。
  • 您的 "network_data.txt" 是 csv 文件吗?您是否知道您正在打开文件而不关闭它?并且你的函数read_file没有被使用?
  • 你永远不会打电话给read_file()
  • 而在read_file 中,您不使用network_data 参数。

标签: python python-3.x pandas


【解决方案1】:

如果文件不是 CSV 文件,则不能使用 pd.read_csv()

def read_file(network_data):
    with open(network_data) as f:
        return [line.strip() for line in f]

if __name__ == "__main__":
    data = read_file("network_data.txt")

【讨论】:

  • 如果文件不使用UTF-8编码,则需要将编码指定为open()的参数。
  • 我很困惑为什么我仍然收到错误消息。问题出在我的文本文件上吗?
  • 这是一个文本文件
  • 我知道。有不同的方法来编码文本文件。 Python 默认为UTF-8。如果是别的东西,你必须告诉它。
  • @JeffUK 他曾用UnicodeDecodeError发表评论,然后删除了它。
猜你喜欢
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 2018-11-02
相关资源
最近更新 更多