Python pandas 从嵌入 Web txt 文件中的 csv 创建数据框

标签 python pandas csv dataframe

我正在尝试将 CSV 格式的数据导入到 Pandas 数据框中。 CSV 数据位于 Web URL 上的 .txt 文件内。问题是我只想导入格式为 CSV 的 .txt 文件的一部分(见下图)。本质上,我需要跳过前 9 行,然后将第 10-16 行导入为 CSV。

我的代码

import csv
import pandas as pd
import io

url = "http://www.bom.gov.au/climate/averages/climatology/windroses/wr15/data/086282-3pmMonth.txt"
df = pd.read_csv(io.StringIO(url), skiprows = 9, sep =',', skipinitialspace = True)
df

我收到一条很长的错误消息,最终显示“EmptyDataError: No columns to parse from file”

我看过类似的例子Read .txt file with Python Pandas - strings and floats但这是不同的。

Snippet of .txt file with CSV part highlighted

最佳答案

上面的代码尝试从 URL 本身读取 CSV 文件,而不是从该 URL 获取的文本文件。要明白我的意思,请取出 skiprows 参数,然后显示数据框。你会看到这个:

Empty DataFrame
Columns: [http://www.bom.gov.au/climate/averages/climatology/windroses/wr15/data/086282-3pmMonth.txt]
Index: []

请注意,这些列是 URL 本身。

导入requests (您可能必须先安装它)然后尝试以下操作:

content = requests.get(url).content
df = pd.read_csv(io.StringIO(content.decode('utf-8')),skiprows=9)

关于Python pandas 从嵌入 Web txt 文件中的 csv 创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60283065/

相关文章:

python - 值错误: too many values to unpack (expected 3)//Werkzeug Debugger

python - Pandas 日期时间索引

python - 尝试使用 opengl 函数 glMapBufferRange 在 python 中制作 alienrain

python - 如何处理警告: "Workbook contains no default style, apply openpyxl' s default "

python - 将数据从 csv 文件转换为 numpy 数组问题

c++ - 说 C++ 中的数组或 Python 中的列表是类是否正确?数据结构?或两者?

python - 使用条件在 python pandas 中进行内部连接

python - Python Pandas 中的时间格式化

java - 在字符串中分隔逗号分隔值

python - Tensorflow Dataset API 读取 csv 转换 tfrecords